存档

文章标签 ‘系统待机’

C# 阻止系统待机和关闭显示器(一)

2015年8月24日 没有评论

最近衣服自己洗在开发过程中遇到一个需求就是在不修改电源管理选项的情况下,阻止系统进入休眠状态。和我们的需求比较类似的是视频播放器,在播放视频的时候,即使用户没有操作电脑,也会阻止休眠。退出播放器后,系统又正常了。

实现起来不太复杂,我们可以利用系统的API函数:SetThreadExecutionState

这个函数只有一个参数,可以选择3个值,当然值可以组合使用

只使用Continus参数时,则是恢复系统休眠策略。
不使用Continus参数时,实现阻止系统休眠或显示器关闭一次。
组合使用Continus参数时,实现阻止系统休眠或显示器关闭至线程终止。

C#的示例代码如下:
setThreadExecutionState

看着很简单,对不对。当然,如果不需要阻止显示器的关闭,则可以不传递 Display 参数即可。