(WIN7)如何禁止自动关闭显示器?

LIDEHUA1975 2010-02-03 12:09:05
SystemParametersInfo(SPI_SETSCREENSAVEACTIVE,FALSE,NULL,0);

int m_nLowpowerTimeout, m_nPoweroffTimeout;

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);

上面的代码,在win7上,可以禁止进入屏保,但是不能禁止自动关闭显示器。

请问,有什么办法能够让程序运行起来以后能够禁止自动关闭显示器?就像一般的播放器那样?
...全文
3644 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
MoXiaoRab 2010-02-09
  • 打赏
  • 举报
回复
定时调用SendInput也可以。

LZ在这边自问自答?
LIDEHUA1975 2010-02-09
  • 打赏
  • 举报
回复
定时调用 SetThreadExecutionState(ES_DISPLAY_REQUIRED | ES_SYSTEM_REQUIRED),

呵呵,这样在后台,也能阻止关闭显示器了。
LIDEHUA1975 2010-02-09
  • 打赏
  • 举报
回复
但是,又有一个新问题。
我的程序有焦点的时候,是可以阻止关闭显示器的,
但是失去焦点的时候,就没办法阻止自动关闭显示器。

但是,微软的媒体播放器,放到后台,失去焦点,也能阻止自动关闭显示器,不知道是什么原因。
MoXiaoRab 2010-02-09
  • 打赏
  • 举报
回复
楼主解决了,那就接分吧。

LIDEHUA1975 2010-02-09
  • 打赏
  • 举报
回复
不好意思,是我自己搞错了。

static LRESULT DoSysCommand(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
{
if(wp == SC_MONITORPOWER)
return 1;
else
return 0;
}

这样在收到SC_MONITORPOWER广播消息的时候,return 1就可以禁止自动关闭显示器了。
LIDEHUA1975 2010-02-08
  • 打赏
  • 举报
回复
有没有人能帮帮忙?
LIDEHUA1975 2010-02-04
  • 打赏
  • 举报
回复
修改注册表不行。
robinwjb 2010-02-03
  • 打赏
  • 举报
回复
直接修改注册表吧:
http://hi.baidu.com/btljz/blog/item/12b26d36f376db360b55a964.html

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧