电脑休眠怎么停止-(电脑休眠怎么停止运行)

来源:191路由网 2023-06-26 08:52:04

电脑休眠怎么停止 (电脑休眠怎么停止运行)

通常我们使用电脑过程中会设置多长时间不操作,电脑就会灭屏、睡眠甚至是休眠。如果电脑进入睡眠或者休眠模式,电脑运行的程序将不再执行。如果我们设计的桌面程序一直在执行某种操作,比如持续的USB通信,操作人可能会离开很久,这个时候,我们不希望电脑进入睡眠或者休眠模式。那么该如何实现这一功能呢?

系统中相关接口文件是提供了这一功能,即调用如下方法即可:

[DllImport("kernel32")]private static extern ExecutionState SetThreadExecutionState(ExecutionState esFlags);[Flags]private enum ExecutionState : uint{SystemRequired = 0x01,DisplayRequired = 0x02,[Obsolete("This value is not supported.")]UserPresent = 0x04,AwayModeRequired = 0x40,Continues = 0x80000000,}

如上所示,只需要设置系统状态即可,ExcutionState各个枚举变量的含义为:SystemRequired,强行设置系统IDLE计时器,使得系统一直处于工作态;DisplayRequired,通过重置显示器IDLE计时器,使得显示器一直处于显示状态;Continues,系统状态维持当前状态,直到下一次方法调用或者标志位改变。

Microsoft官网参考链接为:SetThreadExecutionState function (winbase.h) - Win32 apps | Microsoft Learn

系统状态枚举变量

具体调用方法如下:

// 设置此线程此时开始一直将处于运行状态,此时计算机不应该进入睡眠状态。// 此线程退出后,设置将失效。// 如果需要恢复,请调用 <"RestoreForCurrentThread"/> 方法。// <param name="keepDisplayOn">// 表示是否应该同时保持屏幕不关闭。// 对于游戏、视频和演示相关的任务需要保持屏幕不关闭;而对于后台服务、下载和监控等任务则不需要。public static void PresentForCurrentThread(bool keepDisplayOn){SetThreadExecutionState(keepDisplayOn ? (ExecutionState.Continues|ExecutionState.SystemRequired | ExecutionState.DisplayRequired) : (ExecutionState.Continues| ExecutionState.SystemRequired));}//恢复此线程的运行状态,操作系统现在可以正常进入睡眠状态和关闭屏幕。public static void RestoreForCurrentThread(){SetThreadExecutionState(ExecutionState.Continues);}// 重置系统睡眠或者关闭屏幕的计时器,这样系统睡眠或者屏幕能够继续持续工作设定的超时时间。// <param name="keepDisplayOn">// 表示是否应该同时保持屏幕不关闭。// 对于游戏、视频和演示相关的任务需要保持屏幕不关闭;而对于后台服务、下载和监控等任务则不需要。public static void ResetIdle(bool keepDisplayOn){SetThreadExecutionState(keepDisplayOn ? (ExecutionState.SystemRequired | ExecutionState.DisplayRequired) : (ExecutionState.SystemRequired));}

因此,只要调用ResetIdle(true)就可以实现屏幕常亮并且系统运行正常。如果要取消只要调用RestoreForCurrentThread()即可。




这是水淼·帝国CMS站群文章更新器的试用版本更新的文章,故有此标记(2023-06-26 08:52:03)
点击展开全文

相关阅读

win7更改电脑名字-(win7更改电脑名字重启后密码不对了)

win7更改电脑名字(win7更改电脑名字重启后密码不对了)一般计算机名字都是系统给的,所以我们可以给它改一个有个性的计算机名字,接下来就为大家介绍win10系统修改计算名称的方法。1、按下“Win+i”组合打...

2023-06-26

电脑休眠怎么停止-(电脑休眠怎么停止运行)

电脑休眠怎么停止(电脑休眠怎么停止运行)通常我们使用电脑过程中会设置多长时间不操作,电脑就会灭屏、睡眠甚至是休眠。如果电脑进入睡眠或者休眠模式,电脑运行的程序将不再执行。如果我们设计的桌面程序一直在执行某种操作,比如持续的USB通信,操作人可能会离开很久,这个时候,我们不希望电脑进入睡眠或者...

2023-06-26

神舟战神笔记本win7还原键-(神舟战神笔记本win7还原键是哪个)

神舟战神笔记本win7还原键(神舟战神笔记本win7还原键是哪个)再有一个多月即将迎来开学季,对于即将走入大学的同学们来说,没什么比买一台称心的笔记本电脑更重要的事了,毕竟它将成为自己4年学习生涯中的重要伙伴。虽然男生更追求高配置高性能,女生更注重高颜值超便携,但所有的需求最终都汇聚成一个重要的词,那就是高性价比。作为高性价比的代名词,神舟...

2023-06-26

win10以太网怎么卸载-(win10以太网卸载了怎么办)

win10以太网怎么卸载(win10以太网卸载了怎么办)Win10系统如何卸载无线网卡驱动?近期有用户打算卸载无线网卡驱动后重新安装更新一下,但是不知道Win10系统的无线网卡驱动要怎么卸载,下面就给大家介绍Win10系统电脑卸载无线网卡驱动的两种方法。方法一1、将鼠标移到屏幕左下角点击鼠标右键,或者同时按下Windows徽标键...

2023-06-25

u盘装系统最后grub-(u盘装系统最后出现内存错误)

u盘装系统最后grub(u盘装系统最后出现内存错误)生命在于折腾。我的ThinkPadT450s上安装有Windows7,之后安装了Archlinux,并采用了GRUB引导双系统的启动。无奈前两天Windows7忽然莫名其妙的蓝屏了。想着平时也很少用Windows7,干脆就直接重装一把Windows吧...

2023-06-25

191路由网 - 192.168.1.1,192.168.0.1无线路由器设置教程

版权声明:本站的文章和图片来自互联网收集,仅做分享之用如有侵权请联系站长,我们将在24小时内删除