Delphi - Saját magát újraindító alkalmazás

forráskód letöltése
Ebben a példában egy olyan alkalmazást készítünk, amely képes saját magát újraindítani.
A programban egy naplófájlt is készítünk, amelybe bejegyezzük, hogy mikor lett indítva, leállítva, és azt, hogy újra lett-e indítva, vagy sem.
Létrehozunk egy logikai típusú globális változót, amely azt fogja megmondani, hogy kilépéskor az alkalmazást újra kell-e indítani, vagy nem. Az alkalmazás újraindítása akkor történik meg, amikor a futása már majdnem teljesen befejeződött. Ehhez pedig a project fájlban az Application.Run után adjuk meg a következő néhány sort:
  if FRestart then begin
    WinExec(PChar(Application.ExeName), SW_SHOWDEFAULT);
  end;
Az FRestart változó a BitBtn1 komponens OnClick eseményében kap igaz értéket. A WinExec függvénnyel futtatjuk az alkalmazást. Első paramétere a futtatandó program neve az elérési útvonallal együtt, a második pedig az alkalmazás megjelenítését befolyásolja.