improve:PPT联动
This commit is contained in:
@@ -302,11 +302,9 @@ namespace Ink_Canvas.Helpers
|
|||||||
|
|
||||||
if (bestApp != null)
|
if (bestApp != null)
|
||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile($"ROT扫描完成: 找到最佳应用, priority={bestPriority}", LogHelper.LogType.Trace);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile($"ROT扫描完成: 未找到可用应用", LogHelper.LogType.Trace);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|||||||
@@ -333,9 +333,6 @@ namespace Ink_Canvas.Helpers
|
|||||||
}
|
}
|
||||||
}, DispatcherPriority.Normal);
|
}, DispatcherPriority.Normal);
|
||||||
|
|
||||||
// 停止频繁的连接检查,由状态定时器维持
|
|
||||||
_connectionCheckTimer?.Stop();
|
|
||||||
|
|
||||||
PPTConnectionChanged?.Invoke(true);
|
PPTConnectionChanged?.Invoke(true);
|
||||||
LogHelper.WriteLogToFile("[ROT] 成功连接到 PPT 应用程序", LogHelper.LogType.Event);
|
LogHelper.WriteLogToFile("[ROT] 成功连接到 PPT 应用程序", LogHelper.LogType.Event);
|
||||||
|
|
||||||
@@ -366,6 +363,13 @@ namespace Ink_Canvas.Helpers
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
_isModuleUnloading = true;
|
||||||
|
_connectionCheckTimer?.Stop();
|
||||||
|
_slideShowStateCheckTimer?.Stop();
|
||||||
|
|
||||||
|
PPTConnectionChanged?.Invoke(false);
|
||||||
|
LogHelper.WriteLogToFile("[ROT] 准备断开 PPT 连接,先卸载监控模块", LogHelper.LogType.Event);
|
||||||
|
|
||||||
if (_pptApplication != null)
|
if (_pptApplication != null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -426,14 +430,8 @@ namespace Ink_Canvas.Helpers
|
|||||||
GC.WaitForPendingFinalizers();
|
GC.WaitForPendingFinalizers();
|
||||||
GC.Collect();
|
GC.Collect();
|
||||||
|
|
||||||
_isModuleUnloading = true;
|
LogHelper.WriteLogToFile("[ROT] 已断开 PPT 连接并尝试释放所有 COM 对象", LogHelper.LogType.Event);
|
||||||
_connectionCheckTimer?.Stop();
|
|
||||||
_slideShowStateCheckTimer?.Stop();
|
|
||||||
|
|
||||||
PPTConnectionChanged?.Invoke(false);
|
|
||||||
LogHelper.WriteLogToFile("[ROT] 已断开 PPT 连接", LogHelper.LogType.Event);
|
|
||||||
|
|
||||||
// 一段时间后恢复监控状态
|
|
||||||
System.Threading.ThreadPool.QueueUserWorkItem(_ =>
|
System.Threading.ThreadPool.QueueUserWorkItem(_ =>
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -450,7 +448,7 @@ namespace Ink_Canvas.Helpers
|
|||||||
_connectionCheckTimer?.Start();
|
_connectionCheckTimer?.Start();
|
||||||
_slideShowStateCheckTimer?.Start();
|
_slideShowStateCheckTimer?.Start();
|
||||||
|
|
||||||
LogHelper.WriteLogToFile("[ROT] PPT 联动模块已重新进入监控状态", LogHelper.LogType.Trace);
|
LogHelper.WriteLogToFile("[ROT] PPT 联动模块已重新进入联动状态", LogHelper.LogType.Trace);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -904,9 +904,8 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile($"[AutoFold Error] 定时检测发生异常: {ex.Message}", LogHelper.LogType.Error);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user