我编写了一个C#应用程序,用于监控连接到运行Windows 8的ARM平板电脑的设备。应用程序需要检测平板电脑何时从睡眠状态恢复,以便它可以向连接的设备发送命令。
我已尝试按this question监控Microsoft.Win32.SystemEvents.PowerModeChanged事件。
我已按照this question尝试观看WM_POWERBROADCAST消息。
在这两种情况下,应用程序在我的Windows 7桌面开发PC上运行良好。但是,当我在Windows 8 ARM平板电脑上运行应用程序时,这两种方法都不起作用。
在这种情况下,我是否需要注意不同的消息?还有什么我可以尝试解决这个问题吗?
更新:我发现当我插上或拔掉主电源时,我确实收到WM_POWERBROADCAST消息(电源状态改变)。我还得到一个SystemEvents.PowerModeChanged事件。但是,在进行暂停/恢复循环时,我仍然没有收到任何暂停或恢复电源消息。
更新#2:我已经找到了针对我的特定情况的解决方法,它不依赖于电源消息。但感谢那些花时间回答/评论的人。