Einzelnen Beitrag anzeigen

CCRDude

Registriert seit: 9. Jun 2011
660 Beiträge
 
FreePascal / Lazarus
 
#13

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

  Alt 7. Aug 2011, 22:31
2. Wenn bereits eine Instanz läuft, solltest Du die Parameter an diese weitergeben. Z.B. per Named Pipe.
Gute Idee, allerdings kommen mir Named Pipes dafür etwas zu umfangreich vor. Ich hab sie noch nie benutzt, von dem was ich lese scheint es mir aber etwas Overkill zu sein. Warum übergebe ich an ShellExecute nicht einfach CmdLine + ' restart' . Einwände?
Vielleicht habe ich auch die Funktionalität deines Codes falsch interpretiert
Das wäre notwendig, wenn es darum gehen würde, daß nur eine Instanz des Programmes laufen soll. Dann müssen spätere Instanzen das an die erste weiterreichen. Wie EWeiss später vorschlägt (allerdings auch ohne dieses Weiterreichen).

3. Für Vista und später solltest Du eine Elevate-Möglichkeit einbauen (verb "runas" statt "open").
Verstehe nicht genau, was du meinst. open reicht doch alle Rechte weiter. Mit runas springt bei mir z.B. beim Neustart die UAC an, was ja nicht immer von Nöten ist.
Als Option - Programme laufen erstmal mit geringen Rechten, stelle aber evtl. möglich Administrationoptionen nach Elevation zur Verfügung (siehe WM_CLOSE).
  Mit Zitat antworten Zitat