C# 如何检测Windows 8何时进入睡眠或恢复

C# 如何检测Windows 8何时进入睡眠或恢复,c#,windows-8,windows-runtime,lifecycle,C#,Windows 8,Windows Runtime,Lifecycle,我有一个应用程序可以保持与服务器的连接,但是如果用户走开,平板电脑进入睡眠状态,我希望能够优雅地处理断开连接的情况,并且我还希望在用户唤醒平板电脑时重新登录 我在我的连接类中尝试了以下代码,但它们从未被解雇 Application.Current.Suspending += this.OnAppSuspending; Application.Current.Resuming += this.OnAppResuming;; 对于桌面应用程序,您可以使用事件来了解Windows是否进入睡眠状态。我

我有一个应用程序可以保持与服务器的连接,但是如果用户走开,平板电脑进入睡眠状态,我希望能够优雅地处理断开连接的情况,并且我还希望在用户唤醒平板电脑时重新登录

我在我的连接类中尝试了以下代码,但它们从未被解雇

Application.Current.Suspending += this.OnAppSuspending;
Application.Current.Resuming += this.OnAppResuming;;

对于桌面应用程序,您可以使用事件来了解Windows是否进入睡眠状态。我不知道这是否也适用于平板电脑,但你可以试试

从MSDN:

•恢复操作系统即将从暂停状态恢复

•状态更改操作系统已引发电源模式状态通知事件。这可能表示电池电量不足或正在充电,交流电源和电池之间发生转换,或系统电源状态发生另一变化

•暂停即将暂停的操作系统

SystemEvents.PowerModeChanged += OnPowerChange;

private void OnPowerChange(object s, PowerModeChangedEventArgs e) 
{
    switch ( e.Mode ) 
    {
        case PowerModes.Resume: 
        break;
        case PowerModes.Suspend:
        break;
    }
}

如果你打开了调试器,这个问题可能会解释一些事情:我在我的Windows10UWP应用程序中找不到这个api。有什么想法吗?@Joris Weimar你找到什么解决办法了吗?很有魅力。!