问题 使用ENDSESSION_CLOSEAPP和wParam == FALSE对WM_ENDSESSION的正确响应是什么?


根据 WM_ENDESSION docs,当lParam为ENDSESSION_CLOSEAPP且wParam为FALSE时, “申请应该  关掉”。

  • 那么,我应该忽略它并使用默认响应吗?
  • 它的目的是什么?

(我正在用Qt(C ++)中的Windows事件/消息来关闭一些已启动的进程,但这只是上下文,不应该在这里有任何影响......)


2032
2018-03-31 14:03


起源



答案:


是的,a WM_ENDSESSION 同 wParam==false 仅仅是为了获取信息。在收到此之前,您的申请将收到一份 WM_QUERYENDSESSION。如果你做了一些事情准备关闭以响应 WM_QUERYENDSESSION,如果你收到了,你可以取消它 WM_ENDSESSION 同 wParam=false。如果您尚未采取任何步骤开始关闭,则可以返回0。


10
2018-03-31 14:29



啊。这就说得通了。谢谢! - Macke


答案:


是的,a WM_ENDSESSION 同 wParam==false 仅仅是为了获取信息。在收到此之前,您的申请将收到一份 WM_QUERYENDSESSION。如果你做了一些事情准备关闭以响应 WM_QUERYENDSESSION,如果你收到了,你可以取消它 WM_ENDSESSION 同 wParam=false。如果您尚未采取任何步骤开始关闭,则可以返回0。


10
2018-03-31 14:29



啊。这就说得通了。谢谢! - Macke