如何检测Windows挂起消息?

时间:2014-01-17 04:51:39

标签: hook power-management windows-messages

有人知道如何通过C / C ++代码检测Windows挂起消息吗?

或者SetWindowsHookEx()函数会这样做吗?

有人为我提供这些代码吗?我想检测这条消息。

1 个答案:

答案 0 :(得分: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; 
}