2012-09-14 13 views
5

Me interesa saber cómo termina el programador de tareas una tarea en ejecución. He agregado una aplicación a los trabajos del programador de tareas, y parece que al presionar Finalizar en el Programador de tareas para mi trabajo (después de iniciarlo desde el programador de tareas), Windows canceló la tarea (no recibió WM_QUIT o WM_CLOSE mensajes en mi aplicación). Tampoco encontré una forma de configurar cómo quiero que se cierre mi tarea en el Programador de tareas. Mi objetivo es tratar el mensaje enviado por el Programador de tareas (si lo hay) y cerrar bien mi aplicación.¿Cómo finaliza el Programador de tareas un trabajo en ejecución?

Respuesta

2

Probablemente el proceso se elimine con la función de Windows TerminateProcess(). La cola de mensajes no tiene nada que ver con eso. No hay forma de configurar esto y no hay forma de atrapar TerminateProcess.

Si necesita ejecutar durante períodos prolongados, considere crear un servicio real de Windows en lugar de usar el Programador de tareas. Luego recibirá las notificaciones de control de servicio, incluidas las notificaciones de apagado, que le permitirán realizar la limpieza antes de que finalice su servicio.

Cuestiones relacionadas