[英]How to programmatically detect when the OS (Windows) is waking up or going to sleep
[英]How to detect when Windows 8 goes to sleep or resumes
我有一個應用程序可以保持與服務器的連接,但是如果用戶走開並且平板電腦進入睡眠狀態,我希望能夠很好地處理斷開連接,並且我還想在用戶喚醒平板電腦時重新登錄。
我嘗試將以下代碼放入連接類,但從未被解雇。
Application.Current.Suspending += this.OnAppSuspending;
Application.Current.Resuming += this.OnAppResuming;;
對於桌面應用程序,可以使用SystemEvents.PowerModeChanged事件來了解Windows是否進入睡眠狀態。 我不知道這是否也適用於平板電腦,但是您可以嘗試...
從MSDN:
•恢復操作系統即將從掛起狀態恢復。
•StatusChange操作系統已引發電源模式狀態通知事件。 這可能表示電池電量不足或正在充電,交流電源和電池之間的過渡或系統電源狀態的另一變化。
•掛起操作系統即將掛起。
SystemEvents.PowerModeChanged += OnPowerChange;
private void OnPowerChange(object s, PowerModeChangedEventArgs e)
{
switch ( e.Mode )
{
case PowerModes.Resume:
break;
case PowerModes.Suspend:
break;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.