improve:PPT模块
This commit is contained in:
@@ -222,16 +222,16 @@ namespace Ink_Canvas {
|
|||||||
// 0x800401E3: 操作无法使用
|
// 0x800401E3: 操作无法使用
|
||||||
// 0x80004005: 未指定错误(常见于PPT已关闭)
|
// 0x80004005: 未指定错误(常见于PPT已关闭)
|
||||||
// 0x800706B5: RPC服务器不可用
|
// 0x800706B5: RPC服务器不可用
|
||||||
if (hr == 0x800401E3 || hr == 0x80004005 || hr == 0x800706B5)
|
// 0x80048240: 没有活动的演示文稿
|
||||||
|
// 0x800706BE: 远程过程调用失败
|
||||||
|
if (hr == 0x800401E3 || hr == 0x80004005 || hr == 0x800706B5 || hr == 0x80048240 || hr == 0x800706BE)
|
||||||
{
|
{
|
||||||
// 可选:LogHelper.WriteLogToFile($"忽略已知COM异常: {hr:X}", LogHelper.LogType.Trace);
|
|
||||||
Application.Current.Dispatcher.Invoke(() => { BtnPPTSlideShow.Visibility = Visibility.Collapsed; });
|
Application.Current.Dispatcher.Invoke(() => { BtnPPTSlideShow.Visibility = Visibility.Collapsed; });
|
||||||
timerCheckPPT.Start();
|
timerCheckPPT.Start();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LogHelper.WriteLogToFile($"检查PPT状态失败: {ex.ToString()}", LogHelper.LogType.Error);
|
LogHelper.WriteLogToFile($"检查PPT状态失败: {ex.ToString()}", LogHelper.LogType.Error);
|
||||||
//StackPanelPPTControls.Visibility = Visibility.Collapsed;
|
|
||||||
Application.Current.Dispatcher.Invoke(() => { BtnPPTSlideShow.Visibility = Visibility.Collapsed; });
|
Application.Current.Dispatcher.Invoke(() => { BtnPPTSlideShow.Visibility = Visibility.Collapsed; });
|
||||||
timerCheckPPT.Start();
|
timerCheckPPT.Start();
|
||||||
}
|
}
|
||||||
@@ -1410,6 +1410,13 @@ namespace Ink_Canvas {
|
|||||||
|
|
||||||
private void StartWppProcessCheckTimer()
|
private void StartWppProcessCheckTimer()
|
||||||
{
|
{
|
||||||
|
// 新增:WPS联动未启用时不查杀wpp进程
|
||||||
|
if (!Settings.PowerPointSettings.IsSupportWPS)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile("WPS联动未启用,跳过WPP进程查杀", LogHelper.LogType.Trace);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (wppProcessCheckTimer != null)
|
if (wppProcessCheckTimer != null)
|
||||||
{
|
{
|
||||||
wppProcessCheckTimer.Stop();
|
wppProcessCheckTimer.Stop();
|
||||||
@@ -1424,6 +1431,14 @@ namespace Ink_Canvas {
|
|||||||
|
|
||||||
private void WppProcessCheckTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
|
private void WppProcessCheckTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
|
||||||
{
|
{
|
||||||
|
// 新增:WPS联动未启用时不查杀wpp进程
|
||||||
|
if (!Settings.PowerPointSettings.IsSupportWPS)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile("WPS联动未启用,跳过WPP进程查杀", LogHelper.LogType.Trace);
|
||||||
|
StopWppProcessCheckTimer();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (wppProcess == null || hasWppProcessID == false)
|
if (wppProcess == null || hasWppProcessID == false)
|
||||||
@@ -1970,10 +1985,10 @@ namespace Ink_Canvas {
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (process.ProcessName.ToLower().Contains("wps") ||
|
var pname = process.ProcessName.ToLower();
|
||||||
process.ProcessName.ToLower().Contains("powerpnt") ||
|
if ((pname.Contains("wps") || pname.Contains("wpp") || pname.Contains("presentation"))
|
||||||
process.ProcessName.ToLower().Contains("presentation") ||
|
// 排除PowerPoint官方进程
|
||||||
process.ProcessName.ToLower().Contains("wpp"))
|
&& !pname.Contains("powerpnt"))
|
||||||
{
|
{
|
||||||
wpsProcesses.Add(process);
|
wpsProcesses.Add(process);
|
||||||
LogHelper.WriteLogToFile($"发现WPS进程: {process.ProcessName} (PID: {process.Id})", LogHelper.LogType.Trace);
|
LogHelper.WriteLogToFile($"发现WPS进程: {process.ProcessName} (PID: {process.Id})", LogHelper.LogType.Trace);
|
||||||
|
|||||||
Reference in New Issue
Block a user