|
Efectivamente, WM_QUERYENDSESSION es enviado a la aplicación cuando el sistema está cerrando la sesión del usuario activo. WM_QUIT es enviado cuando se solicita el cierre de una aplicación en específico.
En lo que no estoy claro es que si las ventanas hijas reciben estos mensajes. Esta pueda ser la causa de tu problema. Recuerda que en Delphi, la ventana principal de la aplicación no es la solemos llamar "MainForm", sino una ventana oculta que es leída y manipulada por medio de la variable global Application. No sé si esta ventana tenga la propiedad WndProc para que por medio de ella puedas reimplementar tu propia función WndProc. Otra solución sería probar con el control TApplicationEvents.
Saludos!
|