From 2d65224389e6b83c53ca67e3ed6d53c29c4f7b44 Mon Sep 17 00:00:00 2001 From: CJKmkp <2564608840@qq.com> Date: Thu, 12 Feb 2026 23:19:55 +0800 Subject: [PATCH] =?UTF-8?q?improve:PPT=E8=81=94=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ink Canvas/Helpers/PPTROTConnectionHelper.cs | 2 -- Ink Canvas/Helpers/ROTPPTManager.cs | 20 +++++++++----------- Ink Canvas/MainWindow_cs/MW_Timer.cs | 3 +-- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/Ink Canvas/Helpers/PPTROTConnectionHelper.cs b/Ink Canvas/Helpers/PPTROTConnectionHelper.cs index feaeee3f..8a1f69c0 100644 --- a/Ink Canvas/Helpers/PPTROTConnectionHelper.cs +++ b/Ink Canvas/Helpers/PPTROTConnectionHelper.cs @@ -302,11 +302,9 @@ namespace Ink_Canvas.Helpers if (bestApp != null) { - LogHelper.WriteLogToFile($"ROT扫描完成: 找到最佳应用, priority={bestPriority}", LogHelper.LogType.Trace); } else { - LogHelper.WriteLogToFile($"ROT扫描完成: 未找到可用应用", LogHelper.LogType.Trace); } } catch (Exception ex) diff --git a/Ink Canvas/Helpers/ROTPPTManager.cs b/Ink Canvas/Helpers/ROTPPTManager.cs index 7445061b..0251bc3b 100644 --- a/Ink Canvas/Helpers/ROTPPTManager.cs +++ b/Ink Canvas/Helpers/ROTPPTManager.cs @@ -333,9 +333,6 @@ namespace Ink_Canvas.Helpers } }, DispatcherPriority.Normal); - // 停止频繁的连接检查,由状态定时器维持 - _connectionCheckTimer?.Stop(); - PPTConnectionChanged?.Invoke(true); LogHelper.WriteLogToFile("[ROT] 成功连接到 PPT 应用程序", LogHelper.LogType.Event); @@ -366,6 +363,13 @@ namespace Ink_Canvas.Helpers { try { + _isModuleUnloading = true; + _connectionCheckTimer?.Stop(); + _slideShowStateCheckTimer?.Stop(); + + PPTConnectionChanged?.Invoke(false); + LogHelper.WriteLogToFile("[ROT] 准备断开 PPT 连接,先卸载监控模块", LogHelper.LogType.Event); + if (_pptApplication != null) { try @@ -426,14 +430,8 @@ namespace Ink_Canvas.Helpers GC.WaitForPendingFinalizers(); GC.Collect(); - _isModuleUnloading = true; - _connectionCheckTimer?.Stop(); - _slideShowStateCheckTimer?.Stop(); + LogHelper.WriteLogToFile("[ROT] 已断开 PPT 连接并尝试释放所有 COM 对象", LogHelper.LogType.Event); - PPTConnectionChanged?.Invoke(false); - LogHelper.WriteLogToFile("[ROT] 已断开 PPT 连接", LogHelper.LogType.Event); - - // 一段时间后恢复监控状态 System.Threading.ThreadPool.QueueUserWorkItem(_ => { try @@ -450,7 +448,7 @@ namespace Ink_Canvas.Helpers _connectionCheckTimer?.Start(); _slideShowStateCheckTimer?.Start(); - LogHelper.WriteLogToFile("[ROT] PPT 联动模块已重新进入监控状态", LogHelper.LogType.Trace); + LogHelper.WriteLogToFile("[ROT] PPT 联动模块已重新进入联动状态", LogHelper.LogType.Trace); } catch (Exception ex) { diff --git a/Ink Canvas/MainWindow_cs/MW_Timer.cs b/Ink Canvas/MainWindow_cs/MW_Timer.cs index 7fda8907..43cd3382 100644 --- a/Ink Canvas/MainWindow_cs/MW_Timer.cs +++ b/Ink Canvas/MainWindow_cs/MW_Timer.cs @@ -904,9 +904,8 @@ namespace Ink_Canvas } } } - catch (Exception ex) + catch (Exception) { - LogHelper.WriteLogToFile($"[AutoFold Error] 定时检测发生异常: {ex.Message}", LogHelper.LogType.Error); } }