我对WM_ENDSESSION消息有疑问。也就是说,当WM_ENDSESSION消息发送时,我想退出应用程序的主循环(WindowProc)......所以,我写了这样的东西:
LRESULT CALLBACK windowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
//...
case WM_QUERYENDSESSION: return TRUE;
case WM_ENDSESSION:
if(wParam) PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,msg,wParam,lParam);
}
return 0;
}
...,但它不起作用 - 应用程序不会退出主循环...
我在 msdn 上阅读了有关 WM_QUERYENDSESSION 和 WM_ENDSESSION 的信息,但找不到任何有用的信息...
任何想法,错误在哪里?