在没有Win8特定API的情况下检测连接的待机睡眠

时间:2014-07-14 19:21:40

标签: c++ windows windows-8

希望这个问题的答案不仅仅是“不可能”,而且可能是。

我有一个支持Windows Vista及更高版本的程序,用于监控PBT_APMSUSPEND的WM_POWERBROADCAST消息。当它收到此消息时,表示计算机正在进入睡眠模式,因此它会快速执行某些操作并暂停,然后在收到PBT_APMRESUMESUSPEND消息后恢复。

这在使用connected standby功能的Windows 8计算机上似乎不起作用。根据{{​​3}},当启用连接待机时,您需要选择接收WM_POWERBROADCAST消息。然后链接到this link以用于注册此消息。

问题是,RegisterSuspendResumeNotification似乎需要Win 8+。我真的想要一种方法来让一个程序支持vista及更高版本,而不是必须制作一个Windows 8版本和一个“其他”版本。有谁知道是否有其他API做类似的事情?或者,如果还有其他一些聪明的方法可以让计算机进入连接待机而不获取WM_POWERBROADCAST消息?

感谢您的帮助。

0 个答案:

没有答案