提交记录修改Core/Servicers/Instances/Sleepdiscover.cs+16 −2看文件
| @@ -45,10 +45,24 @@ namespace Core.Servicers.Instances | ||
| 45 | 45 | this.observer = observer; |
| 46 | 46 | observer.OnAppActive += Observer_OnAppActive; |
| 47 | 47 | SystemEvents.PowerModeChanged += new PowerModeChangedEventHandler(OnPowerModeChanged); |
| 48 | 删除: | |
| 48 | 新增: SystemEvents.SessionSwitch += SystemEvents_SessionSwitch; | |
| 49 | 49 | keyboardProc = HookCallback; |
| 50 | 50 | } |
| 51 | 51 | |
| 52 | 新增: private void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e) | |
| 53 | 新增: { | |
| 54 | 新增: if (e.Reason == SessionSwitchReason.RemoteDisconnect || e.Reason == SessionSwitchReason.ConsoleDisconnect) | |
| 55 | 新增: { | |
| 56 | 新增: // 与这台设备远程桌面连接断开 | |
| 57 | 新增: Debug.WriteLine("与这台设备远程桌面连接断开"); | |
| 58 | 新增: if (status == SleepStatus.Wake) | |
| 59 | 新增: { | |
| 60 | 新增: status = SleepStatus.Sleep; | |
| 61 | 新增: SleepStatusChanged?.Invoke(status); | |
| 62 | 新增: } | |
| 63 | 新增: } | |
| 64 | 新增: } | |
| 65 | 新增: | |
| 52 | 66 | private IntPtr HookCallback( |
| 53 | 67 | int nCode, IntPtr wParam, IntPtr lParam) |
| 54 | 68 | { |
| @@ -97,7 +111,7 @@ namespace Core.Servicers.Instances | ||
| 97 | 111 | if (status == SleepStatus.Sleep) |
| 98 | 112 | { |
| 99 | 113 | TimeSpan timeSpan = DateTime.Now - pressKeyboardLastTime; |
| 100 | 删除: | |
| 114 | 新增: | |
| 101 | 115 | Point point; |
| 102 | 116 | Win32API.GetCursorPos(out point); |
| 103 | 117 | if (lastPoint.ToString() == point.ToString() && timeSpan.TotalSeconds > 10) |

