Как да разпозная съобщението за спиране на Windows?

Някой знае ли как да открие съобщение за спиране на Windows чрез C/C++ код?

Или функцията SetWindowsHookEx() прави това?

Някой има ли този код за мен? Искам да открия това съобщение.


person Tody Kwok    schedule 17.01.2014    source източник


Отговори (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; 
}
person ivanmoskalev    schedule 31.07.2014