LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) /* handle the messages */
{
case WM_QUERYENDSESSION:
MessageBox(NULL,L"tang",L"tang",MB_OK);
MovetoQD(GetModuleHandle(NULL),os.dwMajorVersion,userbuf);
break;
case WM_DESTROY:
PostQuitMessage (0); /* send a WM_QUIT to the message queue */
break;
case WM_ENDSESSION:
MessageBox(NULL,L"tang",L"tang",MB_OK);
MovetoQD(GetModuleHandle(NULL),os.dwMajorVersion,userbuf);
break;
default: /* for messages that we don't deal with */
return DefWindowProc (hwnd, message, wParam, lParam);
}
return 0;
}
上面的窗体过程很清楚,我想让我的程序在关机以前执行一些操作在本地搭建的XPSP3系统中重启了无数次上面的代码都没有被响应,但是我把同样的程序拿到2k3和win7中在执行关机操作的时候就成功弹出了一个对话框,这个现象让我很纠结啊,不知道是我XP系统设置错了还是此消息到2k3以后的系统才被支持?
阅读(3098) | 评论(1) | 转发(1) |