Archive for the ‘Generale’ Category
A volte si rende necessario riavviare la propria applicazione, ad esempio dopo l’installazione di aggiornamenti.
Innanzitutto recuperiamo il path completo del nome del file
path := PChar(ParamStr(0));
Avviamo quindi il duplicato della nostra applicazione:
WinExec(pchar(path), SW_SHOW);
Terminiamo quindi l’applicazione corrente
Application.Terminate;
Potete scaricare i sorgenti e l’eseguibile di esempio da qui: Riavvio_Applicazione
Nell’esempio presente nei sorgenti è inoltre incluso del codice che conta il numero di riavvii consecutivi
Per recuperare il path dell’applicazione a runtime possiamo agire nel seguente modo:
Path:=Extractfilepath(ParamStr(0));
Il risultato sarà che la variabile Path conterrà il corretto percorso del file. In particolare ParamStr è una funzione che restituisce un parametro in ingresso del nostro programma quando questo viene richiamato da riga di comando, se come parametro viene passato zero viene restituito il path+ nome del file. A questo punto non dobbiamo fare altro che estrarre il path con l’apposita funzione.
Ho utilizzato spesso questa funzione nelle mie applicazioni in quanto mi permette di recuperare il percorso a runtime.