La Web del Programador: Comunidad de Programadores
 
    Pregunta:  47626 - REFRESCAR UNA APLICACION ACTIVA
Autor:  luis gonzalez
necesito que mi aplicacion re reinicie desde cero en tiempo de ejecucion al hacer click en un boton... seria el mismo efecto de cerrarla y abrirla de nuevo pero en runtime...
gracias

  Respuesta:  Alirio Gavidia
Saludos

Tengo una situación similar. Tengo una apliación y deseo que nadie la cierre sin contraseña. Pero ciertos usuarios pueden matar el programa (ALt-Ctrl-Sup, buscan la tarea y la terminan).

Mi solución fue crear un servicio en Delphi que se comunica cada cierto tiempo con la aplicación (digamos 20 segundos). Si la aplicación sale limpiamente le envia un mensaje al servicio para que no monitoree. Al arrancar le de un mensaje para que monitoree. Estando en monitoreo si aplicación deja de comunicarse el servicio trata de reiniciarla.

Te preguntarás y si alguien cierra el servicio... Eso también tiene solución pero se aparte de tu problema.

Creo que en tu caso no necesitas un servicio sino crear un nuevo programa que reinicie el tuyo. Así que es más simple mandas a cerrar tu programa y en el último momento corres el otro que vuelve a reiniciar el primero (Suena confuso).

Lo que no entiendo es porque no mandas a correr una segunda instancia desde la primera y luego cierras la primera. Sería lo obvio al menos que limites el programa a sólo una instancia, si es así crear otro programa debe resolver el asunto.

Buen día