From 73a4a044eef83fe9158e845afb2e287daee3cf46 Mon Sep 17 00:00:00 2001 From: CJKmkp <2564608840@qq.com> Date: Sun, 22 Feb 2026 19:12:59 +0800 Subject: [PATCH] =?UTF-8?q?improve:=E4=BF=9D=E5=AD=98=E6=88=AA=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MainWindow_cs/MW_FloatingBarIcons.cs | 14 +++---- Ink Canvas/MainWindow_cs/MW_PPT.cs | 38 ++++++++++--------- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs b/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs index 22ed93c9..d720f600 100644 --- a/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs +++ b/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs @@ -838,7 +838,7 @@ namespace Ink_Canvas _pptUIManager?.UpdateNavigationPanelsVisibility(); if (Settings.Automation.IsAutoSaveStrokesAtClear && - inkCanvas.Strokes.Count > Settings.Automation.MinimumAutomationStrokeNumber) SaveScreenShot(true); + inkCanvas.Strokes.Count > Settings.Automation.MinimumAutomationStrokeNumber) CaptureAndEnqueueScreenshotSave(true); if (BtnPPTSlideShowEnd.Visibility == Visibility.Collapsed) new Thread(() => @@ -969,10 +969,10 @@ namespace Ink_Canvas { var currentSlide = _pptManager?.GetCurrentSlideNumber() ?? 0; var presentationName = _pptManager?.GetPresentationName() ?? ""; - SaveScreenShot(true, $"{presentationName}/{currentSlide}_{DateTime.Now:HH-mm-ss}"); + CaptureAndEnqueueScreenshotSave(true, $"{presentationName}/{currentSlide}_{DateTime.Now:HH-mm-ss}"); } else - SaveScreenShot(true); + CaptureAndEnqueueScreenshotSave(true); } BtnClear_Click(null, null); @@ -2165,9 +2165,9 @@ namespace Ink_Canvas { var currentSlide = _pptManager?.GetCurrentSlideNumber() ?? 0; var presentationName = _pptManager?.GetPresentationName() ?? ""; - SaveScreenShot(true, $"{presentationName}/{currentSlide}_{DateTime.Now:HH-mm-ss}"); + CaptureAndEnqueueScreenshotSave(true, $"{presentationName}/{currentSlide}_{DateTime.Now:HH-mm-ss}"); } - else SaveScreenShot(true); + else CaptureAndEnqueueScreenshotSave(true); } if (BtnPPTSlideShowEnd.Visibility != Visibility.Visible) @@ -3627,7 +3627,7 @@ namespace Ink_Canvas { if (Settings.Automation.IsAutoSaveStrokesAtClear && inkCanvas.Strokes.Count > Settings.Automation.MinimumAutomationStrokeNumber) - SaveScreenShot(true); + CaptureAndEnqueueScreenshotSave(true); //BtnClear_Click(null, null); } @@ -3643,7 +3643,7 @@ namespace Ink_Canvas { if (Settings.Automation.IsAutoSaveStrokesAtClear && inkCanvas.Strokes.Count > Settings.Automation.MinimumAutomationStrokeNumber) - SaveScreenShot(true); + CaptureAndEnqueueScreenshotSave(true); //BtnClear_Click(null, null); } diff --git a/Ink Canvas/MainWindow_cs/MW_PPT.cs b/Ink Canvas/MainWindow_cs/MW_PPT.cs index 2a02fdc1..595cd5bb 100644 --- a/Ink Canvas/MainWindow_cs/MW_PPT.cs +++ b/Ink Canvas/MainWindow_cs/MW_PPT.cs @@ -1947,19 +1947,20 @@ namespace Ink_Canvas bool needScreenshot = strokeCount > Settings.Automation.MinimumAutomationStrokeNumber && Settings.PowerPointSettings.IsAutoSaveScreenShotInPowerPoint; + if (needScreenshot) + { + var currentSlide = _pptManager?.GetCurrentSlideNumber() ?? 0; + if (currentSlide > 0) + { + var presentationName = _pptManager?.GetPresentationName() ?? ""; + CaptureAndEnqueueScreenshotSave(true, $"{presentationName}/{currentSlide}"); + } + } + Task.Run(() => { try { - if (needScreenshot) - { - var currentSlide = _pptManager?.GetCurrentSlideNumber() ?? 0; - if (currentSlide > 0) - { - var presentationName = _pptManager?.GetPresentationName() ?? ""; - Application.Current.Dispatcher.BeginInvoke(new Action(() => SaveScreenShot(true, $"{presentationName}/{currentSlide}"))); - } - } return _pptManager?.TryNavigatePrevious() ?? false; } catch (Exception ex) @@ -1997,19 +1998,20 @@ namespace Ink_Canvas bool needScreenshot = strokeCount > Settings.Automation.MinimumAutomationStrokeNumber && Settings.PowerPointSettings.IsAutoSaveScreenShotInPowerPoint; + if (needScreenshot) + { + var currentSlide = _pptManager?.GetCurrentSlideNumber() ?? 0; + if (currentSlide > 0) + { + var presentationName = _pptManager?.GetPresentationName() ?? ""; + CaptureAndEnqueueScreenshotSave(true, $"{presentationName}/{currentSlide}"); + } + } + Task.Run(() => { try { - if (needScreenshot) - { - var currentSlide = _pptManager?.GetCurrentSlideNumber() ?? 0; - if (currentSlide > 0) - { - var presentationName = _pptManager?.GetPresentationName() ?? ""; - Application.Current.Dispatcher.BeginInvoke(new Action(() => SaveScreenShot(true, $"{presentationName}/{currentSlide}"))); - } - } return _pptManager?.TryNavigateNext() ?? false; } catch (Exception ex)