1

可能重复:
如何检测 Windows 是要休眠还是挂起?

有人可以刷新我的记忆吗,从在 Windows 上运行的程序的角度来看,无法知道系统是进入睡眠模式还是休眠,对吗?(我需要知道系统进入的模式,或者刚刚恢复的模式。)

4

1 回答 1

7

根据我收集到的信息,用户模式代码无法区分挂起和休眠。有一个名为 SYSTEM_POWER_STATE 的内核模式枚举,其中包含您正在寻找的状态,但您无法在用户模式下获得该状态。

您可以做的最好的事情是设置回调来捕获WM_POWERBROADCAST消息。PBT_APMQUERYSUSPEND 消息在挂起或休眠即将发生时发送。之后,如果没有取消暂停,您将收到 PBT_APMSUSPEND。恢复时,将发送 PBT_APMRESUMEAUTOMATIC 消息。

于 2012-08-14T03:31:09.013 回答