Windows 8を実行しているARMタブレットに接続されたデバイスを監視するC#アプリケーションを作成しました。アプリケーションは、タブレットがスリープから再開したことを検出して、接続されたデバイスにコマンドを送信できるようにする必要があります。
この質問に従って、Microsoft.Win32.SystemEvents.PowerModeChangedイベントを監視しようとしました。
この質問に従って、WM_POWERBROADCASTメッセージを監視してみました。
どちらの場合も、アプリケーションはWindows7デスクトップ開発用PCで正常に動作します。ただし、Windows 8 ARMタブレットでアプリケーションを実行すると、どちらのアプローチも機能しません。
この場合、別のメッセージを監視する必要がありますか?この問題を回避するために他に何かできることはありますか?
更新:それ以来、主電源を抜き差しすると、実際にはWM_POWERBROADCASTメッセージ(電源ステータスの変更)が表示されることがわかりました。SystemEvents.PowerModeChangedイベントも取得します。ただし、サスペンド/レジュームサイクルを実行しても、サスペンドまたはレジューム電源メッセージが表示されません。
更新#2:それ以来、電源メッセージに依存しない特定の状況に対する回避策を見つけました。しかし、回答/コメントに時間を割いてくれた人々に感謝します。