【问题标题】:How to detect when Windows 8 goes to sleep or resumes如何检测 Windows 8 何时进入睡眠或恢复
【发布时间】:2023-04-04 03:18:01
【问题描述】:

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

我尝试将以下代码放入我的连接类中,但它们从未被解雇。

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

【问题讨论】:

标签: c# windows-8 windows-runtime lifecycle


【解决方案1】:

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

来自 MSDN:

• Resume 操作系统即将从挂起状态恢复。

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

• Suspend 操作系统即将暂停。

SystemEvents.PowerModeChanged += OnPowerChange;

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

【讨论】:

  • 我在我的 Windows 10 uwp 应用程序中找不到这个 api。有什么想法吗?
  • @Joris Weimar 你找到解决办法了吗?
  • 像魅力一样工作!
猜你喜欢
  • 1970-01-01
  • 2010-09-18
  • 1970-01-01
  • 2011-06-09
  • 1970-01-01
  • 2010-12-06
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多