2010-03-31 9 views
10

De acuerdo con los documentos WM_ENDESSION, cuando lParam es ENDSESSION_CLOSEAPP y wParam es FALSO, "la aplicación debe no cerrada".¿Cuál es la respuesta adecuada a WM_ENDSESSION con ENDSESSION_CLOSEAPP y wParam == FALSE?

  • Entonces, ¿debería simplemente ignorar eso y usar la respuesta predeterminada?
  • ¿De qué sirve?

(que estoy escuchando de Windows eventos/mensajes en Qt (C++) para apagar algunos procesos iniciados, pero eso es sólo el contexto y no debería tener ninguna incidencia aquí ...)

Respuesta

9

Sí, un WM_ENDSESSION con wParam==false es solo para información. Antes de recibir esto, su aplicación habrá recibido un WM_QUERYENDSESSION. Si hizo algo para prepararse para cerrar en respuesta al WM_QUERYENDSESSION, puede deshacerlo cuando/si recibió un WM_ENDSESSION con wParam=false. Si no ha realizado ningún paso para comenzar a cerrar, simplemente puede devolver 0.

+0

Ah. Eso tiene sentido. ¡Gracias! – Macke

Cuestiones relacionadas