imporve:PPT联动
This commit is contained in:
+163
-158
@@ -194,8 +194,8 @@ namespace Ink_Canvas.Helpers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DisconnectFromPPT();
|
DisconnectFromPPT();
|
||||||
LogHelper.WriteLogToFile("PPT监控已停止", LogHelper.LogType.Trace);
|
LogHelper.WriteLogToFile("PPT监控已停止", LogHelper.LogType.Trace);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -287,10 +287,10 @@ namespace Ink_Canvas.Helpers
|
|||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile("成功绑定!", LogHelper.LogType.Trace);
|
LogHelper.WriteLogToFile("成功绑定!", LogHelper.LogType.Trace);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile($"绑定失败: {ex.Message}", LogHelper.LogType.Warning);
|
LogHelper.WriteLogToFile($"绑定失败: {ex.Message}", LogHelper.LogType.Warning);
|
||||||
DisconnectFromPPT();
|
DisconnectFromPPT();
|
||||||
}
|
}
|
||||||
@@ -330,8 +330,8 @@ namespace Ink_Canvas.Helpers
|
|||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile("PowerPoint 忙,稍后重试", LogHelper.LogType.Trace);
|
LogHelper.WriteLogToFile("PowerPoint 忙,稍后重试", LogHelper.LogType.Trace);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile($"检查演示文稿状态失败: {ex.Message}", LogHelper.LogType.Warning);
|
LogHelper.WriteLogToFile($"检查演示文稿状态失败: {ex.Message}", LogHelper.LogType.Warning);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -686,9 +686,9 @@ namespace Ink_Canvas.Helpers
|
|||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile("PowerPoint 忙,稍后重试", LogHelper.LogType.Trace);
|
LogHelper.WriteLogToFile("PowerPoint 忙,稍后重试", LogHelper.LogType.Trace);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile($"检查演示文稿状态失败: {ex.Message},继续使用轮询模式", LogHelper.LogType.Warning);
|
LogHelper.WriteLogToFile($"检查演示文稿状态失败: {ex.Message},继续使用轮询模式", LogHelper.LogType.Warning);
|
||||||
activePresentation = null;
|
activePresentation = null;
|
||||||
}
|
}
|
||||||
@@ -704,9 +704,9 @@ namespace Ink_Canvas.Helpers
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (activePresentation == null)
|
if (activePresentation == null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
activePresentation = PPTApplication.ActivePresentation;
|
activePresentation = PPTApplication.ActivePresentation;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@@ -816,9 +816,9 @@ namespace Ink_Canvas.Helpers
|
|||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile($"轮询模式检测到页码变化: {_lastPolledSlideNumber} -> {currentPage},触发事件", LogHelper.LogType.Trace);
|
LogHelper.WriteLogToFile($"轮询模式检测到页码变化: {_lastPolledSlideNumber} -> {currentPage},触发事件", LogHelper.LogType.Trace);
|
||||||
SlideShowNextSlide?.Invoke(_pptSlideShowWindow);
|
SlideShowNextSlide?.Invoke(_pptSlideShowWindow);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile($"触发轮询模式幻灯片切换事件失败: {ex.Message}", LogHelper.LogType.Warning);
|
LogHelper.WriteLogToFile($"触发轮询模式幻灯片切换事件失败: {ex.Message}", LogHelper.LogType.Warning);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -849,9 +849,9 @@ namespace Ink_Canvas.Helpers
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (_polling != 0)
|
if (_polling != 0)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
int currentPage = GetCurrentSlideIndex(_pptSlideShowWindow);
|
int currentPage = GetCurrentSlideIndex(_pptSlideShowWindow);
|
||||||
|
|
||||||
if (_lastPolledSlideNumber != -1 && currentPage != _lastPolledSlideNumber)
|
if (_lastPolledSlideNumber != -1 && currentPage != _lastPolledSlideNumber)
|
||||||
@@ -943,8 +943,8 @@ namespace Ink_Canvas.Helpers
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (pptApp != null)
|
if (pptApp != null)
|
||||||
{
|
{
|
||||||
PPTApplication = pptApp;
|
PPTApplication = pptApp;
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
@@ -1039,7 +1039,7 @@ namespace Ink_Canvas.Helpers
|
|||||||
|
|
||||||
_bindingEvents = true;
|
_bindingEvents = true;
|
||||||
|
|
||||||
LogHelper.WriteLogToFile("PPT事件注册成功", LogHelper.LogType.Trace);
|
LogHelper.WriteLogToFile("PPT事件注册成功", LogHelper.LogType.Trace);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1047,9 +1047,9 @@ namespace Ink_Canvas.Helpers
|
|||||||
_forcePolling = true;
|
_forcePolling = true;
|
||||||
LogHelper.WriteLogToFile("无法转换为强类型Application,使用轮询模式", LogHelper.LogType.Trace);
|
LogHelper.WriteLogToFile("无法转换为强类型Application,使用轮询模式", LogHelper.LogType.Trace);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
_bindingEvents = false;
|
_bindingEvents = false;
|
||||||
_forcePolling = true;
|
_forcePolling = true;
|
||||||
LogHelper.WriteLogToFile($"事件注册失败: {ex.Message},使用轮询模式", LogHelper.LogType.Trace);
|
LogHelper.WriteLogToFile($"事件注册失败: {ex.Message},使用轮询模式", LogHelper.LogType.Trace);
|
||||||
@@ -1073,10 +1073,10 @@ namespace Ink_Canvas.Helpers
|
|||||||
|
|
||||||
if (_pptActivePresentation != null)
|
if (_pptActivePresentation != null)
|
||||||
{
|
{
|
||||||
UpdateCurrentPresentationInfo();
|
UpdateCurrentPresentationInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
PPTConnectionChanged?.Invoke(true);
|
PPTConnectionChanged?.Invoke(true);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -1122,9 +1122,9 @@ namespace Ink_Canvas.Helpers
|
|||||||
app.SlideShowEnd -= new EApplication_SlideShowEndEventHandler(OnSlideShowEnd);
|
app.SlideShowEnd -= new EApplication_SlideShowEndEventHandler(OnSlideShowEnd);
|
||||||
app.PresentationBeforeClose -= new EApplication_PresentationBeforeCloseEventHandler(OnPresentationBeforeClose);
|
app.PresentationBeforeClose -= new EApplication_PresentationBeforeCloseEventHandler(OnPresentationBeforeClose);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile($"取消PPT事件注册失败: {ex.Message}", LogHelper.LogType.Trace);
|
LogHelper.WriteLogToFile($"取消PPT事件注册失败: {ex.Message}", LogHelper.LogType.Trace);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1147,27 +1147,27 @@ namespace Ink_Canvas.Helpers
|
|||||||
|
|
||||||
SafeReleaseComObject(_pptSlideShowWindow, "_pptSlideShowWindow");
|
SafeReleaseComObject(_pptSlideShowWindow, "_pptSlideShowWindow");
|
||||||
SafeReleaseComObject(_pptActivePresentation, "_pptActivePresentation");
|
SafeReleaseComObject(_pptActivePresentation, "_pptActivePresentation");
|
||||||
SafeReleaseComObject(CurrentSlide, "CurrentSlide");
|
SafeReleaseComObject(CurrentSlide, "CurrentSlide");
|
||||||
SafeReleaseComObject(CurrentSlides, "CurrentSlides");
|
SafeReleaseComObject(CurrentSlides, "CurrentSlides");
|
||||||
SafeReleaseComObject(CurrentPresentation, "CurrentPresentation");
|
SafeReleaseComObject(CurrentPresentation, "CurrentPresentation");
|
||||||
|
|
||||||
if (PPTApplication != null && Marshal.IsComObject(PPTApplication))
|
if (PPTApplication != null && Marshal.IsComObject(PPTApplication))
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Marshal.FinalReleaseComObject(PPTApplication);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
int refCount = Marshal.ReleaseComObject(PPTApplication);
|
Marshal.FinalReleaseComObject(PPTApplication);
|
||||||
while (refCount > 0)
|
|
||||||
{
|
|
||||||
refCount = Marshal.ReleaseComObject(PPTApplication);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch { }
|
catch
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
int refCount = Marshal.ReleaseComObject(PPTApplication);
|
||||||
|
while (refCount > 0)
|
||||||
|
{
|
||||||
|
refCount = Marshal.ReleaseComObject(PPTApplication);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1286,28 +1286,28 @@ namespace Ink_Canvas.Helpers
|
|||||||
|
|
||||||
if (CurrentSlides != null)
|
if (CurrentSlides != null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
{
|
||||||
|
var slideCount = CurrentSlides.Count;
|
||||||
|
if (slideCount > 0)
|
||||||
{
|
{
|
||||||
var slideCount = CurrentSlides.Count;
|
SlidesCount = slideCount;
|
||||||
if (slideCount > 0)
|
|
||||||
{
|
|
||||||
SlidesCount = slideCount;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
SlidesCount = 0;
|
|
||||||
LogHelper.WriteLogToFile("PPT演示文稿页数为0,可能为空演示文稿", LogHelper.LogType.Warning);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (COMException comEx)
|
else
|
||||||
{
|
{
|
||||||
var hr = (uint)comEx.HResult;
|
|
||||||
SlidesCount = 0;
|
SlidesCount = 0;
|
||||||
LogHelper.WriteLogToFile($"读取PPT页数失败: {comEx.Message} (HR: 0x{hr:X8})", LogHelper.LogType.Warning);
|
LogHelper.WriteLogToFile("PPT演示文稿页数为0,可能为空演示文稿", LogHelper.LogType.Warning);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
catch (COMException comEx)
|
||||||
|
{
|
||||||
|
var hr = (uint)comEx.HResult;
|
||||||
|
SlidesCount = 0;
|
||||||
|
LogHelper.WriteLogToFile($"读取PPT页数失败: {comEx.Message} (HR: 0x{hr:X8})", LogHelper.LogType.Warning);
|
||||||
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (IsInSlideShow && _pptSlideShowWindow != null)
|
if (IsInSlideShow && _pptSlideShowWindow != null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -1323,57 +1323,57 @@ namespace Ink_Canvas.Helpers
|
|||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile($"获取SlideShowWindow的Slide失败: {ex.Message}", LogHelper.LogType.Trace);
|
LogHelper.WriteLogToFile($"获取SlideShowWindow的Slide失败: {ex.Message}", LogHelper.LogType.Trace);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
activeWindow = PPTApplication.ActiveWindow;
|
||||||
|
if (activeWindow != null)
|
||||||
{
|
{
|
||||||
activeWindow = PPTApplication.ActiveWindow;
|
dynamic aw = activeWindow;
|
||||||
if (activeWindow != null)
|
selection = aw.Selection;
|
||||||
|
if (selection != null)
|
||||||
{
|
{
|
||||||
dynamic aw = activeWindow;
|
dynamic sel = selection;
|
||||||
selection = aw.Selection;
|
slideRange = sel.SlideRange;
|
||||||
if (selection != null)
|
if (slideRange != null)
|
||||||
{
|
{
|
||||||
dynamic sel = selection;
|
dynamic sr = slideRange;
|
||||||
slideRange = sel.SlideRange;
|
int slideNumber = sr.SlideNumber;
|
||||||
if (slideRange != null)
|
if (slideNumber > 0 && slideNumber <= SlidesCount)
|
||||||
{
|
{
|
||||||
dynamic sr = slideRange;
|
CurrentSlide = CurrentSlides[slideNumber];
|
||||||
int slideNumber = sr.SlideNumber;
|
|
||||||
if (slideNumber > 0 && slideNumber <= SlidesCount)
|
|
||||||
{
|
|
||||||
CurrentSlide = CurrentSlides[slideNumber];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CurrentSlide == null && SlidesCount > 0)
|
|
||||||
{
|
|
||||||
CurrentSlide = CurrentSlides[1];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
catch (COMException comEx)
|
if (CurrentSlide == null && SlidesCount > 0)
|
||||||
{
|
|
||||||
var hr = (uint)comEx.HResult;
|
|
||||||
if (hr != 0x8001010E && hr != 0x80004005)
|
|
||||||
{
|
|
||||||
LogHelper.WriteLogToFile($"获取当前幻灯片失败: {comEx.Message}", LogHelper.LogType.Warning);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (SlidesCount > 0)
|
|
||||||
{
|
{
|
||||||
CurrentSlide = CurrentSlides[1];
|
CurrentSlide = CurrentSlides[1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
catch (COMException comEx)
|
||||||
{
|
{
|
||||||
CurrentPresentation = null;
|
var hr = (uint)comEx.HResult;
|
||||||
CurrentSlides = null;
|
if (hr != 0x8001010E && hr != 0x80004005)
|
||||||
CurrentSlide = null;
|
{
|
||||||
SlidesCount = 0;
|
LogHelper.WriteLogToFile($"获取当前幻灯片失败: {comEx.Message}", LogHelper.LogType.Warning);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (SlidesCount > 0)
|
||||||
|
{
|
||||||
|
CurrentSlide = CurrentSlides[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CurrentPresentation = null;
|
||||||
|
CurrentSlides = null;
|
||||||
|
CurrentSlide = null;
|
||||||
|
SlidesCount = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1557,6 +1557,11 @@ namespace Ink_Canvas.Helpers
|
|||||||
{
|
{
|
||||||
_updateTime = DateTime.Now;
|
_updateTime = DateTime.Now;
|
||||||
SlidesCount = 0;
|
SlidesCount = 0;
|
||||||
|
_lastPolledSlideNumber = -1;
|
||||||
|
_polling = 1;
|
||||||
|
|
||||||
|
PPTROTConnectionHelper.SafeReleaseComObject(_pptSlideShowWindow);
|
||||||
|
_pptSlideShowWindow = null;
|
||||||
|
|
||||||
// 记录WPS进程用于后续管理
|
// 记录WPS进程用于后续管理
|
||||||
if (IsSupportWPS && PPTApplication != null)
|
if (IsSupportWPS && PPTApplication != null)
|
||||||
@@ -1675,46 +1680,46 @@ namespace Ink_Canvas.Helpers
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
object slideShowWindows = PPTApplication.SlideShowWindows;
|
object slideShowWindows = PPTApplication.SlideShowWindows;
|
||||||
if (slideShowWindows != null)
|
if (slideShowWindows != null)
|
||||||
{
|
{
|
||||||
dynamic ssw = slideShowWindows;
|
dynamic ssw = slideShowWindows;
|
||||||
object slideShowWindow = ssw[1];
|
object slideShowWindow = ssw[1];
|
||||||
if (slideShowWindow != null)
|
if (slideShowWindow != null)
|
||||||
{
|
{
|
||||||
dynamic sswObj = slideShowWindow;
|
dynamic sswObj = slideShowWindow;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
sswObj.Activate();
|
sswObj.Activate();
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
object view = sswObj.View;
|
object view = sswObj.View;
|
||||||
if (view != null)
|
if (view != null)
|
||||||
{
|
{
|
||||||
dynamic viewObj = view;
|
dynamic viewObj = view;
|
||||||
viewObj.Next();
|
viewObj.Next();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
SafeReleaseComObject(slideShowWindow);
|
SafeReleaseComObject(slideShowWindow);
|
||||||
}
|
}
|
||||||
SafeReleaseComObject(slideShowWindows);
|
SafeReleaseComObject(slideShowWindows);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (COMException comEx)
|
catch (COMException comEx)
|
||||||
{
|
{
|
||||||
var hr = (uint)comEx.HResult;
|
var hr = (uint)comEx.HResult;
|
||||||
if (hr == 0x8001010E || hr == 0x80004005)
|
if (hr == 0x8001010E || hr == 0x80004005)
|
||||||
{
|
{
|
||||||
DisconnectFromPPT();
|
DisconnectFromPPT();
|
||||||
}
|
}
|
||||||
LogHelper.WriteLogToFile($"切换到下一页失败: {comEx.Message}", LogHelper.LogType.Error);
|
LogHelper.WriteLogToFile($"切换到下一页失败: {comEx.Message}", LogHelper.LogType.Error);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile($"切换到下一页失败: {ex}", LogHelper.LogType.Error);
|
LogHelper.WriteLogToFile($"切换到下一页失败: {ex}", LogHelper.LogType.Error);
|
||||||
}
|
}
|
||||||
}).Start();
|
}).Start();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -1738,46 +1743,46 @@ namespace Ink_Canvas.Helpers
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
object slideShowWindows = PPTApplication.SlideShowWindows;
|
object slideShowWindows = PPTApplication.SlideShowWindows;
|
||||||
if (slideShowWindows != null)
|
if (slideShowWindows != null)
|
||||||
{
|
{
|
||||||
dynamic ssw = slideShowWindows;
|
dynamic ssw = slideShowWindows;
|
||||||
object slideShowWindow = ssw[1];
|
object slideShowWindow = ssw[1];
|
||||||
if (slideShowWindow != null)
|
if (slideShowWindow != null)
|
||||||
{
|
{
|
||||||
dynamic sswObj = slideShowWindow;
|
dynamic sswObj = slideShowWindow;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
sswObj.Activate();
|
sswObj.Activate();
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
object view = sswObj.View;
|
object view = sswObj.View;
|
||||||
if (view != null)
|
if (view != null)
|
||||||
{
|
{
|
||||||
dynamic viewObj = view;
|
dynamic viewObj = view;
|
||||||
viewObj.Previous();
|
viewObj.Previous();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
SafeReleaseComObject(slideShowWindow);
|
SafeReleaseComObject(slideShowWindow);
|
||||||
}
|
}
|
||||||
SafeReleaseComObject(slideShowWindows);
|
SafeReleaseComObject(slideShowWindows);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (COMException comEx)
|
catch (COMException comEx)
|
||||||
{
|
{
|
||||||
var hr = (uint)comEx.HResult;
|
var hr = (uint)comEx.HResult;
|
||||||
if (hr == 0x8001010E || hr == 0x80004005)
|
if (hr == 0x8001010E || hr == 0x80004005)
|
||||||
{
|
{
|
||||||
DisconnectFromPPT();
|
DisconnectFromPPT();
|
||||||
}
|
}
|
||||||
LogHelper.WriteLogToFile($"切换到上一页失败: {comEx.Message}", LogHelper.LogType.Error);
|
LogHelper.WriteLogToFile($"切换到上一页失败: {comEx.Message}", LogHelper.LogType.Error);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile($"切换到上一页失败: {ex}", LogHelper.LogType.Error);
|
LogHelper.WriteLogToFile($"切换到上一页失败: {ex}", LogHelper.LogType.Error);
|
||||||
}
|
}
|
||||||
}).Start();
|
}).Start();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -2517,8 +2522,8 @@ namespace Ink_Canvas.Helpers
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
Marshal.ReleaseComObject(PPTApplication);
|
Marshal.ReleaseComObject(PPTApplication);
|
||||||
PPTApplication = null;
|
PPTApplication = null;
|
||||||
LogHelper.WriteLogToFile("已释放pptApp对象", LogHelper.LogType.Trace);
|
LogHelper.WriteLogToFile("已释放pptApp对象", LogHelper.LogType.Trace);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user