如何从命令行启动待机/睡眠?

时间:2011-06-15 00:58:39

标签: c# windows command-line standby sleep-mode

我已经找到了很多关于如何通过命令行关闭计算机,将其置于休眠等方面的信息,但是,我已经阅读过关于让它进入睡眠的任何提示,因为它从开始菜单到目前为止没有正常工作。

我想要一个将计算机置于轻型待机模式的命令,其中按键会使计算机再次唤醒,而不是处于休眠状态。有谁知道这个?

AFAIK,rundll32.exe powrprof.dll,SetSuspendState 0,1,0并不会使计算机在所有情况下都处于睡眠/待机状态,因此不适合我使用...

谢谢, Araho

4 个答案:

答案 0 :(得分:8)

感谢@minitech,我终于明白了。将此留给所有想要了解答案的人,并提供两个示例,一个是直接命令行,另一个是Visual C#:

为您的应用添加提升的priveleges:

  • 换句话说,在命令行中,以管理员身份启动它。
  • 在我正在使用的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”,“ - banernate off”); //关闭休眠模式设置。

    2. System.Diagnostics.Process.Start(“rundll32.exe”,“powrprof.dll,SetSuspendState 0,1,0”); //将计算机发送到睡眠状态

    3. System.Diagnostics.Process.Start(“powercfg”,“ - onbernate on”); //唤醒电脑后打开休眠模式设置。

要记住添加管理员权限,非常很重要,否则它会使计算机休眠,这需要永远。

Araho

答案 1 :(得分:1)

带有CMD(命令提示符或.bat)的

STANDBY (SLEEP)在Windows 10中不起作用。

使用QUICK SLEEPER

答案 2 :(得分: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用于将其置于休眠模式。

答案 3 :(得分:0)

经过验证的NirCMd(对许多事情有用)同时具有Standby(睡眠)和Hibernate命令: https://nircmd.nirsoft.net/standby.html 上面的某些内容可能会为您完成。