Pregunta

En un proyecto ventanas que estoy trabajando, tengo la intención de tener una selección de menú que se reinicia copletely la aplicación. ¿Hay una función de Windows o C ++ que hace esto?

¿Fue útil?

Solución

No hay un built-in para esto, pero una aplicación bien diseñada puede simplemente dejar todo lo que está pasando y luego bucle de nuevo al comienzo. Si quieres un verdadero 'nuevo comienzo', que tendrá que generar un nuevo proceso (posiblemente el último que haces antes de que el viejo se apaga.)

Otros consejos

No, debe hacerlo por sí solo. Por ejemplo, puede ejecutar el proceso externo que va a esperar hasta que salga de su aplicación, y luego ejecutarlo de nuevo.

En realidad, es posible que desee echar un vistazo a la API de Administrador de reinicio que entró con Windows Vista. Como siempre se puede p-invocar este contenido de su corazón y el de ellos un apoyo explícito para venir en Visual C ++ 2010 .

Ya sea necesario para hacer esto. La manera más fácil sin ninguna lectura adicional sería escribir un simple archivo .bat-(ya sea a mano o dinámicamente por la aplicación) de iniciar su programa y luego llamar a ese bate-archivo desde la aplicación.

El-bat puede incluso contener una línea para eliminar misma tras haber iniciado su aplicación ...

¿Quieres llamar CreateProcess y a continuación, cierre la instancia actual de la aplicación con gracia con ExitProcess () , o si se vincula al tiempo de ejecución C, vuelve desde main (). Pero primero usted debe preguntarse por qué es necesario recrear el proceso en el primer lugar.

ExitWindowsEx es lo que desea. También puede ejecutar el Shutdown.exe utilidad integrada en Windows.

shutdown -t0 -r (restart the system after 0 seconds)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top