AW: RunAs unter Win7 (ohne UAC)
Du könntest über Findwindow ein gegf. vorhandenes Programm ohne UAC, vor der Mutxprüfung suche und per Message einen Befehl zum beenden senden.
|
AW: RunAs unter Win7 (ohne UAC)
Zitat:
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. Ich schaue mir aber mal an was es sonst noch für Möglichkeiten geben könnte... |
AW: RunAs unter Win7 (ohne UAC)
Zitat:
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 |
AW: RunAs unter Win7 (ohne UAC)
Zitat:
Ich starte, wenn ich noch keine Adminrechte habe, eine Instanz mit Adminrechten. Diese Instanz benennt die aktuellen Dateien um und kopiert die neuen Dateien ins Verzeichnis. Dann startet sie die ggf. neue Exe, die dann auch Adminrechte hat, sagt der ersten Instanz Bescheid und beendet sich selbst. Die erste Instanz startet die neue Exe im selben Kontext wie die ursprüngliche Exe (also z.B. ohne Adminrechte) und beendet sich. Die neu gestartete Exe sagt der neuen Admin-Instanz Bescheid und wartet. Die neue Admin-Instanz löscht nun die zuvor gesicherten Dateien, wenn das Update bis hierhin gekommen ist, meldet den Erfolg des Aufräumens an die neue Instanz im Benutzerkontext und beendet sich. Die neue Instanz im Benutzerkontext lädt den Zustand der ersten Instanz wieder und sagt dann dem Benutzer Bescheid, dass das Update fertig ist. Dazu kommt noch die Kommunikation für die Fortschrittsanzeige. Das funktioniert so sehr gut und ich denke, dass das bei dir auch gehen würde. Deine neue Instanz merkt am Parameter, dass da noch eine alte Instanz beendet werden muss. Dann meldet diese der ersten Instanz, dass sie erfolgreich gestartet ist und wartet bis sich die erste Instanz beendet hat (der Mutex also reserviert werden konnte). Die erste Instanz wartet nach dem Start bis die Antwort der neuen Instanz kommt und beendet sich dann. Das sollte doch funktionieren, oder? |
AW: RunAs unter Win7 (ohne UAC)
Zitat:
MfG Dalai |
AW: RunAs unter Win7 (ohne UAC)
Mmh, ich habe jetzt drei funktionierende Methoden ausmachen können, weiß aber nicht so recht, welche davon man benutzen sollte.
MfG Dalai |
AW: RunAs unter Win7 (ohne UAC)
Dieser Passwortdialog ist halt ein interner Teil des UAC, welcher sich von extern scheinbar nicht ansprechen läßt, vorallem dann nicht, wenn das UAC nicht läuft.
Ich glaube ich hatte vor sehr vielen Jahren auch mal hier nach sowas gefragt. Der eigene Dialog ist ja nicht das Problem, aber diesen dann auch noch in einer sicheren Umgebung (eigener Desktop) anzuzeigen, so wie es das UAC macht, damit kein Programm da so einfach automatisch die Anmeldedaten eintragen kann. |
AW: RunAs unter Win7 (ohne UAC)
Zitat:
Ich habe mich vorerst für die o.g. Variante 3 entschieden, das Handle also via Parameter an die andere Instanz zu übergeben. Das hat den Vorteil, dass ich nicht mit beiden Instanzen dieselbe Message registriere (Variante 2), ich kein Fenster suchen muss (Variante 1; IMO potentiell fehlerträchtig) und nicht alle anderen Fenster mit einem Broadcast nerve (Variante 2). MfG Dalai |
AW: RunAs unter Win7 (ohne UAC)
Liste der Anhänge anzeigen (Anzahl: 1)
Als weitere Möglichkeit blieben noch andere Möglichkeiten der Interprozesskommunikation wie z.B. Semaphore, siehe Anhang. ;-)
|
AW: RunAs unter Win7 (ohne UAC)
Zitat:
Das ding wird aber nicht in einem eigenem Desktop ausgeführt. Es sieht auch irgendwie ein bissl so aus, wie der neue Vista-TaskDialog. [add] Die Fensterklasse von dem Ding ist DirectUIHWND. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz