我想通过命令行使我的 Windows PC(Windows 7)进入睡眠状态(这样我就可以绑定到键盘上的宏按钮)。
电脑上的电源按钮设置为让电脑进入睡眠状态(但它在地板上,我懒得伸手下去),这正是我想要的(以防断电,使用混合模式进入睡眠状态)
关机菜单上的睡眠命令也有效。
我发现的大多数信息都说使用;
%windir%\system32\rundll32.exe PowrProf.dll, SetSuspendState 0,1,0
但这会让计算机进入休眠模式。我确实禁用了休眠模式,但使用混合睡眠。
那么,使用什么命令可以使您的计算机进入睡眠状态(而不是休眠状态)?
答案1
我找到了一个解决方案。我安装了一个名为 AutoHotKey 的免费软件程序,并将调用“开始菜单”->“睡眠”的步骤记录到一个脚本文件中。然后我将脚本文件编译为一个独立的可执行文件 SleepWin7.exe。
现在我只需运行 SleepWin7.exe 即可使计算机进入混合睡眠状态。
如果您只需要这个,您可以卸载 AutoHotKey。
更新:当用户未登录时,即 Windows 7 登录屏幕,上述解决方案不起作用。(我的计算机每周日凌晨 4 点唤醒以执行每周备份,此操作无需用户登录即可完成。)在这种情况下,威兹莫程序仍然有效:
wizmo.exe安静待机!
答案2
希望您发现这些有用。
关闭 %windir%\System32\shutdown.exe -s
重启 %windir%\System32\shutdown.exe -r
注销 %windir%\System32\shutdown.exe -l
支持 %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Standby
休眠 %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Hibernate
警告:不应使用 rundll32.exe 来启动 powerprof.dll。相反,您应该直接调用 SetSuspendState。这可以使用 Powershell 完成 - 创建一个文件,例如 sleep.ps1,其中包含以下内容。
Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)
然后使用 运行它powershell -File C:\your-path\sleep.ps1
。您可能首先需要运行命令Set-ExecutionPolicy RemoteSigned
以启用 powershell 脚本运行。
上述脚本会导致系统暂停,系统将根据您当前的休眠设置进入睡眠或休眠状态。要从命令行更改该设置,请以管理员身份从命令行运行powercfg -h off
(或)。on
答案3
查看免费实用程序威兹莫,它可以做很多事情。
您正在寻找的命令可能是:
wizmo待机