2014-01-17 58 views
1

有人知道如何通過C/C++代碼檢測Windows掛起消息嗎?或者,SetWindowsHookEx函數可以做到這一點嗎? 有人對我有這些代碼嗎?我想檢測這個消息。 非常感謝。如何檢測Windows暫停消息?

回答

1

如果你正在談論睡眠和冬眠 - 答案是肯定的,你可以。你只需要聽WM_POWERBROADCAST message.

假設你有一個MFC應用程序和一個窗口類,它是CWnd的子類。那麼你可以這樣做:

BEGIN_MESSAGE_MAP(CMyWindow, CWnd) 
    //{{AFX_MSG_MAP(CMyWindow) 
    ON_MESSAGE(WM_POWERBROADCAST, OnMsgPowerBroadcast) 
    //}}AFX_MSG_MAP 
END_MESSAGE_MAP() 

... 

LRESULT CMyWindow::OnMsgPowerBroadcast(WPARAM wParam, LPARAM lParam) 
{ 
    if (wParam == PBT_APMSUSPEND) { 
     // The system is suspending. 
    } 
    return TRUE; 
}