可能重复:
How to detect if windows is going to hibernate or suspend?
有人可以刷新我的记忆,从Windows上运行的程序的角度来看,无法知道系统是进入睡眠模式还是休眠,对吗? (我需要知道系统输入的模式,或者刚刚恢复的模式。)
答案 0 :(得分:6)
从我收集的内容来看,用户模式代码无法区分suspend和hibernate。有一个名为SYSTEM_POWER_STATE的内核模式枚举,其中包含您要查找的状态,但您无法在用户模式下获得该状态。
您可以做的最好的事情是将回调设置为捕获WM_POWERBROADCAST消息。暂停或休眠即将发生时发送PBT_APMQUERYSUSPEND消息。之后,如果暂停未被取消,您将收到PBT_APMSUSPEND。在恢复时,将发送PBT_APMRESUMEAUTOMATIC消息。