以编程方式将PC置于睡眠模式

时间:2016-12-17 15:47:23

标签: windows windows-10 sleep-mode

一个老问题,可能(?)解决了较旧的Windows版本,但不适用于Windows 10!

旧讨论中提出的解决方案(...带有参数0,1,0(或睡眠)的SetSuspendState,有或没有先前的休眠关闭...)不适用于Windows 10系统;至少不是全部:启动模式主要是休眠,而不是睡眠。

我发现:在较旧的Windows版本中,注册表中有类似的内容: 的 [HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows \ CurrentVersion \ Explorer中\ CommandStore \壳\睡眠\命令] @ =" rundll32.exe powrprof.dll,SetSuspendState Sleep" 这显然是睡眠命令。至少在我的Windows 10 PC上没有这样的条目!

有人在这里有新的答案吗?

================== 已编辑:在此之后我的OP发现这不是Windows 10问题,这是Surface 3问题,与Surface 3上用作睡眠模式的电源选项有关:

Surface 3使用的睡眠模式似乎是"现代待机" =" S0低功耗空闲" ="连接网络待机"。 (不是通常的S3睡眠模式!!!)

使用 SetSuspendState 的命令似乎根本无法启动Surface 3上的睡眠模式。

我的问题的新措辞:我想要的所有内容都是一个与Surface 3上的电源按钮相同的命令,该按钮设置为"电源按钮操作=睡眠&#当Surface 3设置为"睡眠按钮动作=睡眠"

时,外部(USB)键盘上的“休眠”按钮;

1 个答案:

答案 0 :(得分:0)

我发现了这个新的解决方案 Programmatically enter Connected Standby in C#

在Surface 3上,我现在可以激活睡眠模式("现代待机" =" S0低功耗空闲" ="连接网络待机" )通过关闭显示器的命令。在Autohotkey中,这只是一行:

SendMessage,0x112,0xF170,2,程序经理

我可以在sleepstudy-report.html(由powercfg / sleepstudy创建)中看到真正的" Modern Standby"由此输入。