Compare commits
27 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2fa27d6f83 | |||
| 24a90a3a99 | |||
| eb7fc8fa1e | |||
| 110ce59450 | |||
| b48d8538b6 | |||
| ce9fce8364 | |||
| 1ca05579be | |||
| ea75929c4a | |||
| 521a7307d5 | |||
| fd31d3b444 | |||
| 1ca827b5eb | |||
| b55fbe3dd3 | |||
| fdf406e24e | |||
| 274ee8db40 | |||
| 272139496b | |||
| 39a0aab613 | |||
| 6f4d92a32c | |||
| 21541b80d3 | |||
| 551ea2ecfb | |||
| c5a3f8e7bc | |||
| 7cea38f49d | |||
| 6474014bf5 | |||
| a4e95285d8 | |||
| 28c378c305 | |||
| dd4fe17e2f | |||
| 502246bc0c | |||
| 7282fce664 |
@@ -2,9 +2,9 @@ name: .NET Build
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ master ]
|
branches: [ main ]
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ master ]
|
branches: [ main ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
|
|||||||
@@ -80,42 +80,49 @@ namespace Ink_Canvas {
|
|||||||
|
|
||||||
public static bool IsShowingRestoreHiddenSlidesWindow = false;
|
public static bool IsShowingRestoreHiddenSlidesWindow = false;
|
||||||
private static bool IsShowingAutoplaySlidesWindow = false;
|
private static bool IsShowingAutoplaySlidesWindow = false;
|
||||||
private static bool hasLoggedPresentationWarning = false;
|
private bool isPowerPointInitialized = false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void TimerCheckPPT_Elapsed(object sender, ElapsedEventArgs e) {
|
private void TimerCheckPPT_Elapsed(object sender, ElapsedEventArgs e)
|
||||||
if (IsShowingRestoreHiddenSlidesWindow || IsShowingAutoplaySlidesWindow) return;
|
{
|
||||||
|
// 如果正在显示特定窗口,则跳过检查
|
||||||
|
if (IsShowingRestoreHiddenSlidesWindow || IsShowingAutoplaySlidesWindow)
|
||||||
|
return;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("PowerPoint.Application");
|
// 检查是否已有初始化的 PowerPoint 实例
|
||||||
}
|
if (!isPowerPointInitialized)
|
||||||
catch (COMException)
|
|
||||||
{
|
|
||||||
// 创建新实例或记录错误
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
var processes = Process.GetProcessesByName("wpp");
|
|
||||||
if (processes.Length > 0 && !isWPSSupportOn) return;
|
|
||||||
|
|
||||||
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));
|
|
||||||
|
|
||||||
pptApplication =
|
|
||||||
(Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("PowerPoint.Application");
|
|
||||||
if (pptApplication == null || pptApplication.Presentations.Count == 0)
|
|
||||||
{
|
{
|
||||||
if (!hasLoggedPresentationWarning)
|
// 检查 WPS 进程(如果不支持则返回)
|
||||||
|
var processes = Process.GetProcessesByName("wpp");
|
||||||
|
if (processes.Length > 0 && !isWPSSupportOn)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// 尝试获取已运行的 PowerPoint 实例
|
||||||
|
try
|
||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile("No active presentation found", LogHelper.LogType.Warning);
|
pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("PowerPoint.Application");
|
||||||
hasLoggedPresentationWarning = true;
|
|
||||||
}
|
}
|
||||||
|
catch (COMException)
|
||||||
|
{
|
||||||
|
// 如果没有找到运行中的实例,则创建新实例
|
||||||
|
pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Activator.CreateInstance(
|
||||||
|
Marshal.GetTypeFromCLSID(new Guid("91493441-5A91-11CF-8700-00AA0060263B")));
|
||||||
|
}
|
||||||
|
isPowerPointInitialized = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (pptApplication != null) {
|
if (pptApplication != null) {
|
||||||
|
// 检查是否有活动演示文稿
|
||||||
|
if (pptApplication.Presentations.Count == 0 || pptApplication.ActivePresentation == null)
|
||||||
|
return; // 退出方法,避免后续代码执行
|
||||||
|
isPowerPointInitialized = false;
|
||||||
timerCheckPPT.Stop();
|
timerCheckPPT.Stop();
|
||||||
//获得演示文稿对象
|
//获得演示文稿对象
|
||||||
presentation = pptApplication.ActivePresentation;
|
presentation = pptApplication.ActivePresentation;
|
||||||
@@ -150,6 +157,7 @@ namespace Ink_Canvas {
|
|||||||
Application.Current.Dispatcher.Invoke(() => {
|
Application.Current.Dispatcher.Invoke(() => {
|
||||||
PptApplication_PresentationOpen(null);
|
PptApplication_PresentationOpen(null);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
//如果检测到已经开始放映,则立即进入画板模式
|
//如果检测到已经开始放映,则立即进入画板模式
|
||||||
if (pptApplication.SlideShowWindows.Count >= 1) {
|
if (pptApplication.SlideShowWindows.Count >= 1) {
|
||||||
|
|||||||
Binary file not shown.
@@ -18,6 +18,8 @@ Elegant by Default. Based on `dubi906w/icc-0610fix` .
|
|||||||
|
|
||||||
## 公告
|
## 公告
|
||||||
ICC CE创立的初衷是因为作者使用ICC的过程中一些小BUG,于是作者想尝试在icc-0610fix版本的基础上修改。
|
ICC CE创立的初衷是因为作者使用ICC的过程中一些小BUG,于是作者想尝试在icc-0610fix版本的基础上修改。
|
||||||
|
说白了,我比较懒README懒得改了,就直接用之前ICC的了
|
||||||
|
高中生,更新不定期/doge
|
||||||
|
|
||||||
### 项目特点
|
### 项目特点
|
||||||
由初学者结合AI技术实现代码(说白了就是不会)
|
由初学者结合AI技术实现代码(说白了就是不会)
|
||||||
|
|||||||
Reference in New Issue
Block a user