如何通过命令行启动待机/睡眠模式?

5
我发现了很多关于如何通过命令行关闭计算机、将其置于休眠等的信息,但是我读到的任何关于如何使它像从开始菜单一样进入睡眠状态的提示都没有正常工作过。
我想要一个能够将计算机置于轻度待机模式的命令,按键即可唤醒计算机,而不是进入休眠状态。有人知道吗?
据我所知,rundll32.exe powrprof.dll,SetSuspendState 0,1,0并不会在所有情况下将计算机置于睡眠/待机状态,因此不适合我的使用...
谢谢, Araho

在哪些情况下,该命令不会让计算机进入睡眠状态? - Ry-
在我的情况下,至少是这样:P 好吧,它会像shutdown -h一样将其置于休眠状态。我想要与使用开始菜单->睡眠时获得的相同类型的睡眠。 - Araho
你看过这个吗:http://superuser.com/questions/42124/how-can-i-put-the-computer-to-sleep-from-command-prompt-run-menu-in-windows-vista(第二个答案)。你可以暂时关闭休眠,然后在唤醒后再重新开启... - Ry-
4个回答

8
感谢@minitech的帮助,我终于搞定了。这里留下答案供所有想了解的人参考,并提供两个示例,一个是直接命令行,另一个是在Visual C#中:
给应用程序添加管理员权限:
换句话说,在命令行中以管理员身份启动它。
在我使用的Visual C#中,将清单文件添加到项目中,并将“requestedExecutionLevel”元素编辑为以下内容:
然后运行以下命令:
在命令行中:
1. "powercfg -hibernate off" - 这将关闭休眠模式。
2. rundll32.exe powrprof.dll,SetSuspendState 0,1,0 - 让计算机进入睡眠状态。
3. powercfg -hibernate on - 这将允许再次激活休眠模式。
在Visual C#中,使用以下代码:
1. System.Diagnostics.Process.Start("powercfg", "-hibernate off"); // 关闭休眠模式设置。
2. System.Diagnostics.Process.Start("rundll32.exe", "powrprof.dll,SetSuspendState 0,1,0"); // 让计算机进入睡眠状态。
3. System.Diagnostics.Process.Start("powercfg", "-hibernate on"); // 在唤醒计算机后重新开启休眠模式设置。
非常重要的一点是记得添加管理员权限,否则计算机会进入休眠模式,这需要很长时间。
Araho

1

待机(睡眠)模式与CMD(命令提示符或.bat)在Windows 10中无法使用。

请使用快速休眠模式


0

使用

^!Numpad9::DllCall("PowrProf\SetSuspendState", "int", 0, "int", 0, "int", 0)
^!Numpad8::DllCall("PowrProf\SetSuspendState", "int", 1, "int", 0, "int", 0)

AutoHotkey中。然后你需要按下Ctrl+Alt+Numpad9。Ctrl+Alt+Numpad8则是用于将其置于休眠模式。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接