From 25e11fa9de3f39ddbac4cba3e4f1c7c4fa8381f6 Mon Sep 17 00:00:00 2001 From: unknown <2564608840@qq.com> Date: Sun, 20 Jul 2025 00:09:48 +0800 Subject: [PATCH] =?UTF-8?q?improve:=E8=81=94=E5=8A=A8=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ink Canvas/MainWindow.xaml | 35 +++++++++++++++++++++++++++++- Ink Canvas/MainWindow_cs/MW_PPT.cs | 22 ++++++++++--------- 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml index f663fae4..88eb0583 100644 --- a/Ink Canvas/MainWindow.xaml +++ b/Ink Canvas/MainWindow.xaml @@ -178,7 +178,40 @@ - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Ink Canvas/MainWindow_cs/MW_PPT.cs b/Ink Canvas/MainWindow_cs/MW_PPT.cs index 1cfdd349..0086c86c 100644 --- a/Ink Canvas/MainWindow_cs/MW_PPT.cs +++ b/Ink Canvas/MainWindow_cs/MW_PPT.cs @@ -28,6 +28,8 @@ namespace Ink_Canvas { private void BtnCheckPPT_Click(object sender, RoutedEventArgs e) { try { + // 显示加载动画 + Application.Current.Dispatcher.Invoke(() => { LoadingMask.Visibility = Visibility.Visible; }); pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("kwpp.Application"); //pptApplication.SlideShowWindows[1].View.Next(); @@ -67,6 +69,10 @@ namespace Ink_Canvas { RightSidePanelForPPTNavigation.Visibility = Visibility.Collapsed; MessageBox.Show("未找到幻灯片"); } + finally { + // 隐藏加载动画 + Application.Current.Dispatcher.Invoke(() => { LoadingMask.Visibility = Visibility.Collapsed; }); + } } private void ToggleSwitchSupportWPS_Toggled(object sender, RoutedEventArgs e) { @@ -85,16 +91,8 @@ namespace Ink_Canvas { private void TimerCheckPPT_Elapsed(object sender, ElapsedEventArgs e) { if (IsShowingRestoreHiddenSlidesWindow || IsShowingAutoplaySlidesWindow) return; try { - //var processes = Process.GetProcessesByName("wpp"); - //if (processes.Length > 0 && !isWPSSupportOn) return; - - //使用下方提前创建 PowerPoint 实例,将导致 PowerPoint 不再有启动界面 - //pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Activator.CreateInstance(Marshal.GetTypeFromCLSID(new Guid("91493441-5A91-11CF-8700-00AA0060263B"))); - //new ComAwareEventInfo(typeof(EApplication_Event), "SlideShowBegin").AddEventHandler(pptApplication, new EApplication_SlideShowBeginEventHandler(this.PptApplication_SlideShowBegin)); - //new ComAwareEventInfo(typeof(EApplication_Event), "SlideShowEnd").AddEventHandler(pptApplication, new EApplication_SlideShowEndEventHandler(this.PptApplication_SlideShowEnd)); - //new ComAwareEventInfo(typeof(EApplication_Event), "SlideShowNextSlide").AddEventHandler(pptApplication, new EApplication_SlideShowNextSlideEventHandler(this.PptApplication_SlideShowNextSlide)); - //ConfigHelper.Instance.IsInitApplicationSuccessful = true; - + // 显示加载动画 + Application.Current.Dispatcher.Invoke(() => { LoadingMask.Visibility = Visibility.Visible; }); pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("PowerPoint.Application"); @@ -142,6 +140,10 @@ namespace Ink_Canvas { Application.Current.Dispatcher.Invoke(() => { BtnPPTSlideShow.Visibility = Visibility.Collapsed; }); timerCheckPPT.Start(); } + finally { + // 隐藏加载动画 + Application.Current.Dispatcher.Invoke(() => { LoadingMask.Visibility = Visibility.Collapsed; }); + } } private void PptApplication_PresentationOpen(Presentation Pres) {