Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Windows 8中接收电源恢复消息?_C#_Windows 8 - Fatal编程技术网

C# 如何在Windows 8中接收电源恢复消息?

C# 如何在Windows 8中接收电源恢复消息?,c#,windows-8,C#,Windows 8,我编写了一个C#应用程序,用于监控连接到运行Windows8的ARM平板电脑上的设备。应用程序需要检测平板电脑何时从睡眠状态恢复,以便向连接的设备发送命令 我已尝试根据监视Microsoft.Win32.SystemEvents.PowerModeChanged事件 根据,我已尝试观看WM_POWERBROADCAST消息 在这两种情况下,应用程序都可以在我的Windows 7桌面开发PC上正常运行。但是,当我在Windows 8 ARM平板电脑上运行应用程序时,这两种方法都不起作用 在这种情况

我编写了一个C#应用程序,用于监控连接到运行Windows8的ARM平板电脑上的设备。应用程序需要检测平板电脑何时从睡眠状态恢复,以便向连接的设备发送命令

我已尝试根据监视Microsoft.Win32.SystemEvents.PowerModeChanged事件

根据,我已尝试观看WM_POWERBROADCAST消息

在这两种情况下,应用程序都可以在我的Windows 7桌面开发PC上正常运行。但是,当我在Windows 8 ARM平板电脑上运行应用程序时,这两种方法都不起作用

在这种情况下,我是否需要查看其他消息?我还有别的办法解决这个问题吗

更新:我发现当我插上或拔下电源时,我确实收到了WM_POWERBROADCAST消息(电源状态更改)。我还得到一个SystemEvents.PowerModeChanged事件。但是,在执行挂起/恢复循环时,我仍然没有收到任何挂起或恢复电源消息


更新#2:我已经找到了一种解决我的特殊情况的方法,它不依赖于电源信息。但感谢那些花时间回答/评论的人。

你的应用程序是桌面应用程序还是metro应用程序?@Yahia必须是“metro”,因为他正在运行ARM@JimO尼尔,你是对的,当然。。。一定读过头了…实际上,这是一个桌面应用程序。这是一个标准的C#Windows应用程序,我在桌面下运行。@Hans Passant这个场景是一个利基场景——我正在开发一款预发布的平板电脑,它集成了我公司的一款产品。我的应用程序是一个驱动程序监视器,可以在发布版本中作为桌面应用程序运行。我只是想让你放心,我不是来自未来,也不是吸食可卡因:)