2010-03-31 9 views
10

Secondo i documenti WM_ENDESSION, quando lParam è ENDSESSION_CLOSEAPP e wParam è FALSE, "l'applicazione deve essere non spento".Qual è la risposta corretta a WM_ENDSESSION con ENDSESSION_CLOSEAPP e wParam == FALSE?

  • Quindi, dovrei semplicemente ignorare che e utilizzare la risposta predefinita?
  • Qual è lo scopo?

(sto ascoltando di Windows eventi/messaggi in Qt (C++) per spegnere alcuni processi avviati, ma questo è solo il contesto e non dovrebbe avere alcuna incidenza qui ...)

risposta

9

Sì, un WM_ENDSESSION con wParam==false è semplicemente per informazione. Prima di ricevere questo, la tua domanda avrà ricevuto un WM_QUERYENDSESSION. Se hai fatto qualcosa per essere pronto a chiudere in risposta allo WM_QUERYENDSESSION, puoi annullare l'operazione quando/se hai ricevuto un WM_ENDSESSION con wParam=false. Se non hai fatto alcun passo per iniziare a spegnere, puoi semplicemente restituire 0.

+0

Ah. Ciò ha senso. Grazie! – Macke

Problemi correlati