如何检测的Windows暂停消息?(How to detect Windows suspend me

2019-10-19 06:15发布

是否有人知道如何用C / C ++代码来检测一个Windows暂停消息?

或者,也SetWindowsHookEx()函数做到这一点?

是否有人对我有这些代码? 我想,以检测该消息。

Answer 1:

如果你正在谈论的睡眠和休眠 - 答案是肯定的,你可以。 你只需要听WM_POWERBROADCAST消息。

假设你有一个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; 
}


文章来源: How to detect Windows suspend message?