如何防止XP等系统待机
试过很多方法,都不成功,难道是我的XP系统有问题?
1.WinExec("Powercfg.exe /hibernate off",SW_HIDE);
2.
SetThreadExecutionState(
ES_SYSTEM_REQUIRED // execution requirements
);
3.
void DisablePmmSaver()
{
//
// 由于电源管理的特殊性,不能直接用SPI_SETLOWPOWERACTIVE命令字实现,而是要设置延时。
//
SystemParametersInfo(SPI_GETLOWPOWERTIMEOUT, 0, &m_nLowpowerTimeout, 0);
SystemParametersInfo(SPI_GETPOWEROFFTIMEOUT, 0, &m_nPoweroffTimeout, 0);
SystemParametersInfo(SPI_SETLOWPOWERTIMEOUT, 0, NULL, 0);
SystemParametersInfo(SPI_SETPOWEROFFTIMEOUT, 0, NULL, 0);
}
4.
BOOL CDialog_testDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message == WM_POWERBROADCAST)
{
MessageBox("ssd");
return BROADCAST_QUERY_DENY;
}
return CDialog::PreTranslateMessage(pMsg);
}
我在电源管理里面设置成1分钟后进入待机,应用上面的任何代码,1分钟后都进入待机状态了.