2008-10-28 13 views
5

¿Es posible en .NET determinar si mi aplicación se cierra debido a que Windows tiene un comando de apagado (a diferencia de cualquier cierre de aplicación anterior) para poder escribir algunos archivos temporales de caché? o incluso bloquear el apagado el tiempo suficiente para solicitar la entrada del usuario?La cerradura de mi aplicación está cerrando

Mientras mi alcance actual implica una aplicación Winform y un servicio de Windows, estoy interesado en la comprensión de esto de una manera genérica, si es posible

Respuesta

7

SystemEvents.SessionEnding que parece ser un buen punto de partida para usted. Ese artículo habla sobre la secuencia de eventos involucrados cuando se produce un cierre de sesión/apagado.

4

En general, querrá manejar el mensaje de Windows WM_QUERYENDSESSION. Esto le dará a su aplicación la posibilidad de realizar una limpieza o bloquear el cierre si es realmente necesario.

2

Maneje el evento SessionEnded en el tipo Microsoft.Win32.SystemEvents.

Cuestiones relacionadas