如何检测窗口是否会休眠或暂停?

Sam*_*r83 15 c# winapi

我在用

SystemEvents.PowerModeChanged += new PowerModeChangedEventHandler(
    SystemEvents_PowerModeChanged
);
Run Code Online (Sandbox Code Playgroud)

判断Windows何时挂起.但我怎么知道它是进入休眠还是暂停?

是否有.Net或PInvoke方法来执行此操作?

Ben*_*igt 9

你不能分辨hibernate和suspend之间的区别.

这里详细讨论.

外卖的消息是你的问题预先假定了一个错误的二分法:它可以是休眠,暂停或混合睡眠......当混合睡眠从暂停转换到休眠时,用户代码甚至没有运行(事实上可能没有代码在运行,转换发生在断电的情况下).

因此,当混合睡眠的决定发生时,系统不知道它是从休眠还是休眠恢复,它不能告诉你它不知道什么.