如何得知系统刚从待机状态醒来
应用程序会收到消息吗?
[解决办法]
32位Windows在执行电源管理时会发送WM_POWERBROADCAST消息,即要捕获休眠就要捕获该消息,但我没有找到CB5预定义了相应的消息结构,我用了以下两种方法都不行:
方法1、
//.h文件中的定义为:
private:
void __fastcall WMPower(MSG &Msg);
protected:
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_POWERBROADCAST, MSG, WMPower)
END_MESSAGE_MAP(TForm)
//.cpp文件中的定义为:
void __fastcall TForm1::WMPower(MSG &Msg)
{
switch(Msg.wParam){
case PBT_APMQUERYSUSPEND: //系统挂起时发个声音
MessageBeep(MB_OK);
break;
case PBT_APMQUERYSUSPENDFAILED:
MessageBeep(MB_ICONHAND);
break;
case PBT_APMRESUMESUSPEND:
MessageBeep(MB_ICONHAND);
break;
}
}