Entwickler-Ecke

Windows API - ShellExecuteEx + Vererbung von Handles möglich?


jaenicke - So 16.08.09 08:01
Titel: ShellExecuteEx + Vererbung von Handles möglich?
Hallo!

Ich benutze zur Elevation unter Vista ShellExecuteEx mit runas als Verb.

Gleichzeitig würde ich aber gerne die Handles (von temporären automatisch zu löschenden Dateien) in der gestarteten Anwendung benutzen. Diese Option gibt es jedoch nur bei CreateProcess.

Gibt es da eine Möglichkeit beides zu kombinieren? Also einerseits explizit mit Adminrechten zu starten und andererseits die Handles zu vererben?

Crosspost:
http://www.delphipraxis.net/post1069115.html
// EDIT:
http://forum.delphi-treff.de/showthread.php?p=197984

Vielen Dank,
Schönen Gruß,
Sebastian


jaenicke - Di 18.08.09 05:14

Hat niemand eine Idee? Es muss ja wie gesagt nicht unbedingt ShellExecuteEx sein, es geht wirklich um die Kombination expliziter Adminrechte mit vererbten Handles.

Ansonsten müsste ich die Daten via Pipes oder MMFs der neuen Instanz zur Verfügung stellen. Das wäre eine Lösung, auch wenn mir der zusätzliche Aufwand nicht gefällt, da das potentielle zusätzliche Fehlerquellen wären.


jaenicke - Sa 22.08.09 22:27

Für alle, die das selbe Problem haben:
Im Delphi-Treff-Thread (siehe oben) habe ich den Hinweis auf DuplicateHandles [http://msdn.microsoft.com/en-us/library/ms724251.aspx] bekommen. Damit kann man die Handles aus dem ersten Prozess in den zweiten duplizieren, so dass man die Vererbung gar nicht braucht.