Eat*_*aco 16 .net c# events winforms hibernate-mode
我正在使用C#在.net中编写一个Windows窗体应用程序.
我遇到一个问题,如果我的程序在计算机进入睡眠和/或休眠状态时运行(我不确定此时哪一个,或两者都导致问题),当机器再次唤醒时该程序只是挂起.退出它的唯一方法是从任务管理器中终止进程.
出于显而易见的原因,这不是我希望程序运行的方式.即使我只是在程序进入这些状态时关闭程序,那也没关系,但我不太清楚如何做到这一点,或者是否有更优雅的方式来处理这个问题.
你需要:
using Microsoft.Win32;
Run Code Online (Sandbox Code Playgroud)
这是代码:
void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
if(e.Mode == PowerModes.Suspend)
{
this.GracefullyHandleSleep();
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我的用途.
处理这些事件可能是一种解决方法.但在应用这种解决方法之前,我会尝试弄清楚当操作系统进入休眠状态时应用程序正在做什么.
虽然应用程序只是闲置,但发生了悬挂?
应用程序是否正在进行某种不应中断的低级别工作(与设备驱动程序或外部硬件通信)?
应用程序是否使用某种网络连接?
| 归档时间: |
|
| 查看次数: |
4669 次 |
| 最近记录: |