2010-03-31 7 views
10

Zgodnie z dokumentami WM_ENDESSION, gdy lParam to ENDSESSION_CLOSEAPP, a wParam jest FAŁSZ, "aplikacja powinna być , a nie wyłączona".Jaka jest właściwa odpowiedź na WM_ENDSESSION z ENDSESSION_CLOSEAPP i wParam == FALSE?

  • Czy powinienem to zignorować i użyć domyślnej odpowiedzi?
  • Jaki jest jej cel?

(słucham systemu Windows zdarzeń/komunikatów w Qt (C++) do zamykania niektórych uruchomione procesy, ale to właśnie z kontekstu i nie powinny mieć żadnego wpływu tutaj ...)

Odpowiedz

9

Tak, a WM_ENDSESSION z wParam==false jest po prostu dla informacji. Przed otrzymaniem tego aplikacja otrzyma numer WM_QUERYENDSESSION. Jeśli zrobiłeś coś, aby przygotować się do zamknięcia w odpowiedzi na WM_QUERYENDSESSION, możesz to zrobić, gdy/jeśli otrzymałeś WM_ENDSESSION z wParam=false. Jeśli nie podjąłeś żadnych kroków, aby rozpocząć wyłączanie, możesz po prostu zwrócić 0.

+0

Ah. To ma sens. Dzięki! – Macke