Domanda

In un progetto di Windows sto lavorando, ho intenzione di avere una selezione di menu che riavvia copletely l'applicazione. C'è una funzione di Windows o C ++ che fa questo?

È stato utile?

Soluzione

Non c'è un built-in per questo, ma un'applicazione ben progettata può semplicemente smettere di tutto quello che sta succedendo e poi loop back al punto di partenza. Se si vuole un vero e proprio 'nuovo inizio', si dovrà generare un nuovo processo (forse come l'ultima cosa che fai prima di quello vecchio si spegne.)

Altri suggerimenti

No, è necessario farlo da soli. Per esempio, è possibile eseguire processo esterno che aspettare fino a quando si esce la vostra applicazione, e quindi eseguirlo di nuovo.

In realtà si potrebbe desiderare di dare un'occhiata alle API Restart Manager che è venuto con Windows Vista. Come mai si può p-richiamare questo al vostro cuore di contenuti e la loro esplicito sostegno a venire per esso in Visual C ++ 2010 .

Già necessario per fare questo. Il modo più semplice, senza alcuna ulteriore lettura sarebbe quella di scrivere un semplice file di bat-(a mano o in modo dinamico per l'applicazione) di iniziare il vostro programma e quindi chiamando che bat-file dalla vostra applicazione.

Il file bat-può anche contenere una riga per rimuovere se stesso dopo aver iniziato la vostra applicazione ...

Si desidera chiamare CreateProcess quindi chiudere l'istanza corrente dell'applicazione con grazia con ExitProcess () , o se ci si collega al runtime C, appena tornati da main (). Ma prima ci si dovrebbe chiedere perché è necessario ricreare il processo, in primo luogo.

ExitWindowsEx è quello che volete. È inoltre possibile eseguire il shutdown.exe utility integrata in Windows.

shutdown -t0 -r (restart the system after 0 seconds)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top