使用系统钩子可以得到WM_QUIT,但为何无法得到关机消息?我用的是WM_QUERYENDSESSION ,WM_ENDSESSION,各帮大哥帮忙
imboy 2002-04-12 04:54:59 LRESULT WINAPI GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam)
{
PMSG A = (PMSG) lParam;
if (A->message == WM_QUERYENDSESSION ){
::MessageBox (NULL,"关机罗WM_ENDSESSION","报告",MB_OK); //无法得到
}else if(A->message == WM_ENDSESSION){
::MessageBox(NULL,"关机WM_ENDSESSION","报告",MB_OK);//无法得到
}
return (CallNextHookEx(hHook, nCode, wParam, lParam));
}
void StartHook(){
hHook = SetWindowsHookEx(WH_GETMESSAGE, GetMsgProc, g_hinstDll , NULL);
}
void EndHook(){
UnhookWindowsHookEx(hHook);
}
上面这段程序是在DLL中,如果获取到关机消息后,如何禁止系统关机??