Einzelnen Beitrag anzeigen

Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#13

AW: RunAs unter Win7 (ohne UAC)

  Alt 16. Mär 2012, 14:57
Dennoch könntest du ein Handle (z.B. ein Fensterhandle) als Parameter mitgeben, über das das gestartete Programm z.B. eine Windows Message schicken kann als Antwort.
Das bringt mir nichts. Das Programm benutzt ein Mutex, um mehrfache Instanzen zu verhindern. Ich muss also die laufende Instanz sofort nach (einem erfolgreichen) ShellExecuteEx schließen, damit die neue Instanz die Chance hat, zu starten. Da die Funktion ShellExecuteEx im Falle von 'runasuser' sofort die Kontrolle an das Programm zurückgibt, beendet sich das Programm und das war's; es wird keine neue Instanz gestartet und die laufende beendet sich.

Nebenbei bemerkt ist ShellExecuteEx bei 'runasuser' immer erfolgreich, auch wenn man im "Ausführen als"-Dialog gar nichts macht (ihn also stehenlässt). Man kann also gar nicht unterscheiden, wie der Nutzer den "Ausführen als"-Dialog verlässt. Ich hoffe, nun ist klar, wo das Problem liegt.

Ich habe mir die Sache mal mit AutoIt angeschaut und dort verhält sich Windows exakt genauso. Es liegt also wohl am Win7 selbst - ob von MS beabsichtigt oder nicht, bleibt offen.

MfG Dalai
  Mit Zitat antworten Zitat