Einzelnen Beitrag anzeigen

Benutzerbild von Björn Ole
Björn Ole

Registriert seit: 10. Jul 2008
166 Beiträge
 
Delphi XE Professional
 
#14

AW: [Unit für Delphi >= 2010] Eigene Anwendung neu starten

  Alt 7. Aug 2011, 22:38
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.
Angehängte Dateien
Dateityp: pas uApplicationRestarter.pas (2,9 KB, 23x aufgerufen)

Geändert von Björn Ole ( 7. Aug 2011 um 22:55 Uhr)
  Mit Zitat antworten Zitat