VC 禁止自动屏保,休眠等节电模式
2013-05-02 12:34
871 查看
Windows在启动屏幕保护程序前会向当前激活的应用程序发WM_SYSCOMMAND消息,其中wParam参数指定了即将执行的系统命令类型,值SC_SCREENSAVE表明这个消息为屏幕保护启动,拦截这个消息并return即可阻止启动屏幕保护,而值SC_MONITORPOWER为显示器节电自动关闭的消息,同理可return。下面为程序开启后,阻止系统这两个动作的代码。
;为示例窗口类添加消息响应函数WM_SYSCOMMAND
void CSample::OnSysCommand(UINT nID, LPARAM lParam)
{
if (nID == SC_SCREENSAVE || nID == SC_MONITORPOWER)
{
return;
}
CSkinDialog::OnSysCommand(nID, lParam);
}
操作系统发送给窗体的消息送给WindowProc虚函数所截获,其中参数message为WM_POWERBROADCAST时,表明系统开始电源处理方面消息通知。第二个参数PBT_APMQUERYSUSPEND则是待机,休眠的请求,过滤掉这个消息,就可以阻止系统进入待机或休眠等模式。下面是示例代码:
;为示例窗口类添加虚函数WindowProc
LRESULT CSample::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
if (message == WM_POWERBROADCAST && wParam == PBT_APMQUERYSUSPEND)
{
return BROADCAST_QUERY_DENY;
}
return CSkinDialog::WindowProc(message, wParam, lParam);
}
开发平台:vc6.0 sp6企业版
测试环境:winxp sp2
转自:http://hi.baidu.com/bitroc/item/1c2861c48c33623b44941687
;为示例窗口类添加消息响应函数WM_SYSCOMMAND
void CSample::OnSysCommand(UINT nID, LPARAM lParam)
{
if (nID == SC_SCREENSAVE || nID == SC_MONITORPOWER)
{
return;
}
CSkinDialog::OnSysCommand(nID, lParam);
}
操作系统发送给窗体的消息送给WindowProc虚函数所截获,其中参数message为WM_POWERBROADCAST时,表明系统开始电源处理方面消息通知。第二个参数PBT_APMQUERYSUSPEND则是待机,休眠的请求,过滤掉这个消息,就可以阻止系统进入待机或休眠等模式。下面是示例代码:
;为示例窗口类添加虚函数WindowProc
LRESULT CSample::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
if (message == WM_POWERBROADCAST && wParam == PBT_APMQUERYSUSPEND)
{
return BROADCAST_QUERY_DENY;
}
return CSkinDialog::WindowProc(message, wParam, lParam);
}
开发平台:vc6.0 sp6企业版
测试环境:winxp sp2
转自:http://hi.baidu.com/bitroc/item/1c2861c48c33623b44941687
相关文章推荐
- VC如何禁止自动屏保,休眠等节电模式
- 如何禁止或暂停Windows的自动屏保、休眠等节电模式
- 禁止ppc自动休眠
- ubuntu 禁止gdm自动启动,启动到字符终端模式
- CentOS关闭休眠和屏保模式
- 禁止自动休眠
- Raspberry Desktop 用户自动登录设置,屏幕禁止休眠设置,浏览器全屏设置
- CentOS关闭休眠和屏保模式
- Linux关闭休眠和屏保模式
- 禁止Linux自动休眠
- ubuntu 禁止gdm自动启动,启动到字符终端模式
- 休眠与开机自动运行等VC代码
- 备忘: VC++ 自动适用编译两种模式库文件 (DLL, LIB)
- iPhone/iPad程序 如何 禁止自动休眠
- 禁止eclipse遇到断点时自动进入debug模式
- Win7系统唤醒休眠模式后无线无法自动连接的故障分析及解决方法
- Linux关闭休眠和屏保模式
- Linux关闭休眠和屏保模式
- 关于flashplayer10.1以后版本的自动休眠模式
- CentOS关闭休眠和屏保模式