improve:联动模块

This commit is contained in:
2025-07-20 00:09:48 +08:00
parent 4742600b86
commit 25e11fa9de
2 changed files with 46 additions and 11 deletions
+12 -10
View File
@@ -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) {