Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#6

Re: Adminrechte für Procedure ?

  Alt 14. Sep 2009, 09:45
Zitat von xaromz:
Rechte gelten immer für den gesamten Prozess. Du hast also zwei Möglichkeiten: Das Programm mit Admin-Rechten neu starten
Um das zu tun, gibt es seit Vista die neue Restart & Recovery API.

Du kannst also z.B. in einem Programm abprüfen, ob es Admin-Rechte hat. Wenn nicht, dann nimmst Du einen Button und packst da mittels der API dieses Security-Schild drauf.

Du kannst den Status der Anwendung dann speichern (z.B. alle aktuellen Änderungen speichern und die aktuellen nicht Speicherbaren Änderungen irgendwie in ein File schreiben). Dann benutzt Du die Restart & Recovery API, um Deinen Prozess mit Adminrechten neu zu starten. Bestätigt der User die UAC-Abfrage, wird Deine Anwendung neu gestartet und bekommt einen Kommandozeilenschalter mit, dass sie von R&R neu gestartet wurde (den kannst Du festlegen). Dann lädt deine neu gestartete Anwendung den alten Status aus dem File, führt die Änderungen durch und gut ist. Dein alter Prozess wird beendet.

Verneint der User die Bestätigung wird der neue Prozess nicht gestartet und Dein alter läuft eben ohne Admin-Rechte weiter.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat