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 について読みましたが、役立つ情報が見つかりませんでした...
どこが間違っているのですか?