Compago

...free knowledge

 
  • Increase font size
  • Default font size
  • Decrease font size
Home Manuali Programmazione Restart application

Restart application

E-mail Stampa PDF

Esempio di procedura che permette di far ripartire una applicazione:

procedure TForm1.RestartApplication;
var
  pi:TProcessInformation;
  si:TStartupInfo;
  status:cardinal;
  success:boolean;
begin
  FillChar(si, SizeOf(si), #0);
  si.cb := SizeOf(si);
  if (CreateProcess(nil,GetCommandLine(),nil,nil,false,NORMAL_PRIORITY_CLASS,nil,nil,si,pi)) then begin
    status:=WaitForInputIdle( pi.hProcess, 10000 );
    if status = 0 then begin
      success:=true;
      close;
    end
    else begin
      ShowMessage('Failed to restart');
    end;
  end;
end;

I limiti di questa procedura sono che per un breve periodo di tempo il programma iniziale e la sua istanza successiva saranno attivi entrambi, e quindi se si ha il vincolo di una sola istanza questo approccio non funzionerà.

Ultimo aggiornamento ( Domenica 12 Dicembre 2010 19:01 )  
Loading

Login




Chiudi