【问题标题】:How to shutdown computers (windows) into hibernate state?如何关闭计算机(Windows)进入休眠状态?
【发布时间】:2020-06-14 11:50:09
【问题描述】:

我真的很享受 Windows 计算机休眠的好处之一:

我可以通过按任意键或鼠标按钮来启动计算机。

我希望我可以将计算机关闭到休眠状态。我的意思是,软件操作系统完全关闭,但硬件进入休眠级别(我认为是 S4)。 这样我就不用每次想开机都弯腰去按电脑机箱上“难以触及”的电源键了。

无论如何我可以通过程序来做到这一点吗?

已经试过了:

DllCall("ntdll.dll", "dword", "NtSetSystemPowerState", "dword", X, "dword", X, "ulong", 0x80000000)

使用正确的权限测试了多个电源状态值,它们要么关闭我的电脑,要么什么都不做。我无法通过程序将我的电脑置于 S3 或 S4 电源状态。

【问题讨论】:

  • 我可以做到这一点的一个不完美的方法是:我正常休眠PC,然后销毁磁盘上的“hiberfil.sys”文件。这样硬件就一直处于休眠模式,一旦通过键盘唤醒,操作系统就会重启(因为缺少hiberfile)

标签: windows hibernate sleep-mode


【解决方案1】:
#include <stdlib.h>

int main()
{
    system("SHUTDOWN /H");
}

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。
  • 这会使操作系统和硬件都进入休眠模式。我希望操作系统进入“关机”模式,而硬件进入“休眠”模式。
【解决方案2】:

SetSuspendState 是使系统进入休眠状态的 API,在 MSDN 上有详细记录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多