From 583bf31c92c369d011536b9f6c938ce75f591bb3 Mon Sep 17 00:00:00 2001 From: ChsBuffer <33744752+chsbuffer@users.noreply.github.com> Date: Thu, 17 Dec 2020 12:39:40 +0800 Subject: [PATCH] Fix #462 --- Netch/Forms/MainForm.cs | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/Netch/Forms/MainForm.cs b/Netch/Forms/MainForm.cs index 58ab1f7e..c5a6cb9f 100644 --- a/Netch/Forms/MainForm.cs +++ b/Netch/Forms/MainForm.cs @@ -294,6 +294,8 @@ namespace Netch.Forms #region MISC + private bool _resumeFlag; + /// /// 监听电源事件,自动重启Netch服务 /// @@ -301,20 +303,24 @@ namespace Netch.Forms /// private void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e) { - //不对Netch命令等待状态的电源事件做任何处理 - if (!State.Equals(State.Waiting)) + switch (e.Mode) { - switch (e.Mode) - { - case PowerModes.Suspend: //操作系统即将挂起 - Logging.Info("操作系统即将挂起,自动停止===>" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")); + case PowerModes.Suspend: //操作系统即将挂起 + if (!IsWaiting) + { + _resumeFlag = true; + Logging.Info("操作系统即将挂起,自动停止"); ControlFun(); - break; - case PowerModes.Resume: //操作系统即将从挂起状态继续 - Logging.Info("操作系统即将从挂起状态继续,自动重启===>" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")); + } + break; + case PowerModes.Resume: //操作系统即将从挂起状态继续 + if (_resumeFlag) + { + _resumeFlag = false; + Logging.Info("操作系统即将从挂起状态继续,自动重启"); ControlFun(); - break; - } + } + break; } } @@ -448,7 +454,7 @@ namespace Netch.Forms if (WindowState == FormWindowState.Minimized) { Visible = true; - ShowInTaskbar = true; // 显示在系统任务栏 + ShowInTaskbar = true; // 显示在系统任务栏 WindowState = FormWindowState.Normal; // 还原窗体 } @@ -465,7 +471,7 @@ namespace Netch.Forms if (WindowState == FormWindowState.Minimized) { Visible = true; - ShowInTaskbar = true; //显示在系统任务栏 + ShowInTaskbar = true; //显示在系统任务栏 WindowState = FormWindowState.Normal; //还原窗体 }