improve:ROT联动

This commit is contained in:
2026-02-14 14:39:15 +08:00
parent 27a9f965a9
commit f722f3516b
4 changed files with 77 additions and 8 deletions
+4
View File
@@ -50,6 +50,10 @@ namespace Ink_Canvas.Helpers
public void StartMonitoring() => _inner.StartMonitoring();
public void StopMonitoring() => _inner.StopMonitoring();
public void ReloadConnection()
{
}
#endregion
#region
+2
View File
@@ -24,6 +24,8 @@ namespace Ink_Canvas.Helpers
void StartMonitoring();
void StopMonitoring();
void ReloadConnection();
// 放映控制
bool TryStartSlideShow();
bool TryEndSlideShow();
+16 -3
View File
@@ -209,6 +209,13 @@ namespace Ink_Canvas.Helpers
DisconnectFromPPT();
LogHelper.WriteLogToFile("[ROT] PPT 监控已停止", LogHelper.LogType.Trace);
}
public void ReloadConnection()
{
if (_disposed) return;
LogHelper.WriteLogToFile("[ROT] 执行热重载:强制断开并重新连接", LogHelper.LogType.Event);
DisconnectFromPPT();
}
#endregion
#region Connection Management
@@ -246,6 +253,12 @@ namespace Ink_Canvas.Helpers
{
if (_isModuleUnloading) return;
if (_pptApplication != null && !IsConnected)
{
DisconnectFromPPT();
return;
}
lock (_lockObject)
{
try
@@ -440,18 +453,18 @@ namespace Ink_Canvas.Helpers
{
try
{
System.Threading.Thread.Sleep(2000);
System.Threading.Thread.Sleep(300);
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
System.Threading.Thread.Sleep(1000);
System.Threading.Thread.Sleep(200);
_isModuleUnloading = false;
_unifiedRotTimer?.Start();
LogHelper.WriteLogToFile("[ROT] PPT 联动模块已重新进入联动状态", LogHelper.LogType.Trace);
LogHelper.WriteLogToFile("[ROT] PPT 联动模块已重新进入联动状态(热重载)", LogHelper.LogType.Trace);
}
catch (Exception ex)
{