diff --git a/Ink Canvas/MainWindow_cs/MW_PPT.cs b/Ink Canvas/MainWindow_cs/MW_PPT.cs index ed6928bf..751f7a69 100644 --- a/Ink Canvas/MainWindow_cs/MW_PPT.cs +++ b/Ink Canvas/MainWindow_cs/MW_PPT.cs @@ -80,7 +80,6 @@ namespace Ink_Canvas { public static bool IsShowingRestoreHiddenSlidesWindow = false; private static bool IsShowingAutoplaySlidesWindow = false; - private static bool hasLoggedPresentationWarning = false; private bool isPowerPointInitialized = false; @@ -112,12 +111,18 @@ namespace Ink_Canvas { pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Activator.CreateInstance( Marshal.GetTypeFromCLSID(new Guid("91493441-5A91-11CF-8700-00AA0060263B"))); } - isPowerPointInitialized = true; + return; } + + if (pptApplication != null) { + // 检查是否有活动演示文稿 + if (pptApplication.Presentations.Count == 0 || pptApplication.ActivePresentation == null) + return; // 退出方法,避免后续代码执行 + isPowerPointInitialized = false; timerCheckPPT.Stop(); //获得演示文稿对象 presentation = pptApplication.ActivePresentation; @@ -152,6 +157,7 @@ namespace Ink_Canvas { Application.Current.Dispatcher.Invoke(() => { PptApplication_PresentationOpen(null); }); + //如果检测到已经开始放映,则立即进入画板模式 if (pptApplication.SlideShowWindows.Count >= 1) { diff --git a/Ink Canvas/obj/Debug/net472/InkCanvasForClass.csproj.AssemblyReference.cache b/Ink Canvas/obj/Debug/net472/InkCanvasForClass.csproj.AssemblyReference.cache index 491d60f4..702ba8ca 100644 Binary files a/Ink Canvas/obj/Debug/net472/InkCanvasForClass.csproj.AssemblyReference.cache and b/Ink Canvas/obj/Debug/net472/InkCanvasForClass.csproj.AssemblyReference.cache differ