NÖ geht immer bei mir
Da muss aber bei deinem Betriebssystem was ordentlich schief laufen.
Als Option - Programme laufen erstmal mit geringen Rechten, stelle aber evtl. möglich Administrationoptionen nach Elevation zur Verfügung (siehe WM_CLOSE).
Ah ok, ich glaub jetzt hab ich es verstanden. Im Anhang die neue Version, hat sich alles um einiges vereinfacht.
Warum ich da vorher den Umweg über einen Thread gegangen bin... wer weiß
Es besteht die Möglichkeit, dem Restart() einen Boolean mitzugeben, ob mit erhöhten Rechten gestartet werden soll. Programmparameter werden der neuen Instanz weitergegeben.
Folgendes hat sich bzgl. Benutzung geändert:
.dpr
Delphi-Quellcode:
if not Application.InitializeRestarter then
Exit;
Code zum Neustarten
Delphi-Quellcode:
Application.Restart;
// oder
if not Application.Restart(bElevated) then
ShowMessage('Fehler beim Neustarten: ' + SysErrorMessage(GetLastError));
Schade, dass ich den Eingangsposting nicht mehr ändern kann...
Vor allem, da man die
Unit jetzt auch mit älteren Versionen vor 2010 benutzen kann.