我尝试在系统进入睡眠模式时捕获WM_POWERBROADCAST消息。
我在做:
BOOL CPowManApp::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_POWERBROADCAST || pMsg->message == WM_POWER)
{
CString strMessage;
strMessage.Format(_T("%d WM_POWERB%s wParam %x lParam %x"),
pMsg->time,
pMsg->message == WM_POWER?_T(""):_T("BRAODCAST"),
pMsg->wParam,
pMsg->lParam);
OutputDebugString(strMessage);
}
return CWinApp::PreTranslateMessage(pMsg);
}
它根本不起作用。同时一个win32应用程序工作正常。我试图将消息处理程序放在Dlg类中是徒劳的。
我正在用VS6.0构建应用程序。我哪里错了?