[update] AutoKill新增加一些,PPT下的自动收纳又堆一点屎山上去

This commit is contained in:
Dubi906w 2024-06-14 10:53:34 +08:00
parent 5f1c58eb24
commit c890b4e044
10 changed files with 168 additions and 87 deletions

View File

@ -213,6 +213,7 @@
<Resource Include="Resources\Icons-png\MaxHubWhiteboard.png" />
<Resource Include="Resources\Icons-png\playCircle.png" />
<Resource Include="Resources\Icons-png\redo.png" />
<Resource Include="Resources\Icons-png\Seewo2Annotation.png" />
<Resource Include="Resources\Icons-png\setting.png" />
<Resource Include="Resources\Icons-png\tiebahuaji.png" />
<Resource Include="Resources\Icons-png\transparent-grid.png" />
@ -330,6 +331,7 @@
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\Icons-Fluent\ic_fluent_people_24_regular.png" />
<Resource Include="Resources\Icons-png\VComYouJiao.png" />
<Resource Include="Resources\Icons-png\WenXiang.png" />
<Resource Include="Resources\Icons-png\YiYunVisualPresenter.png" />
<Resource Include="Resources\Icons-png\YiYunWhiteboard.png" />
@ -505,8 +507,10 @@
<None Remove="Resources\Icons-png\kuanneikuhuaji.png" />
<None Remove="Resources\Icons-png\kuanshounvhuaji.png" />
<None Remove="Resources\Icons-png\MaxHubWhiteboard.png" />
<None Remove="Resources\Icons-png\Seewo2Annotation.png" />
<None Remove="Resources\Icons-png\tiebahuaji.png" />
<None Remove="Resources\Icons-png\transparent-grid.png" />
<None Remove="Resources\Icons-png\VComYouJiao.png" />
<None Remove="Resources\Icons-png\WenXiang.png" />
<None Remove="Resources\Icons-png\YiYunVisualPresenter.png" />
<None Remove="Resources\Icons-png\YiYunWhiteboard.png" />

View File

@ -1405,6 +1405,33 @@
IsOn="True" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
Toggled="ToggleSwitchAutoKillHiteAnnotation_Toggled" />
</ui:SimpleStackPanel>
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<Image Source="/Resources/Icons-png/VComYouJiao.png" Margin="0,0,6,0"
Width="28"
Height="28" VerticalAlignment="Center" />
<TextBlock Foreground="#fafafa" Text="自动查杀 优教授课端" VerticalAlignment="Center"
FontSize="14" Margin="0,0,16,0" />
<ui:ToggleSwitch OnContent="" OffContent=""
Name="ToggleSwitchAutoKillVComYouJiao"
IsOn="True" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
Toggled="ToggleSwitchAutoKillVComYouJiao_Toggled" />
</ui:SimpleStackPanel>
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<Image Source="/Resources/Icons-png/Seewo2Annotation.png" Margin="0,0,6,0"
Width="28"
Height="28" VerticalAlignment="Center" />
<TextBlock Foreground="#fafafa" Text="自动查杀 希沃桌面2.0 桌面批注" VerticalAlignment="Center"
FontSize="14" Margin="0,0,16,0" />
<ui:ToggleSwitch OnContent="" OffContent=""
Name="ToggleSwitchAutoKillSeewoLauncher2DesktopAnnotation"
IsOn="True" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
Toggled="ToggleSwitchAutoKillSeewoLauncher2DesktopAnnotation_Toggled" />
</ui:SimpleStackPanel>
<TextBlock TextWrapping="Wrap" Foreground="#a1a1aa" >
<Run Text="# 由于希沃桌面2.0提供的桌面批注是64位应用程序icc是32位程序无法访问所以目前暂不做精准匹配只匹配进程名称"/>
<Run FontFamily="Consolas">DesktopAnnotation</Run>
<Run Text="后面会考虑封装一套基于P/Invoke和WMI的综合进程识别方案。如果遇到同进程名的软件直接不开启该选项就行了见谅"/>
</TextBlock>
<Line HorizontalAlignment="Center" X1="0" Y1="0" X2="400" Y2="0" Stroke="#3f3f46"
StrokeThickness="1" Margin="0,4,0,4" />
<TextBlock Margin="0,0,0,8" Text="同类软件查杀" FontWeight="Bold" Foreground="#fafafa"
@ -2772,13 +2799,9 @@
Minimum="1" Maximum="255" Width="208"
FontFamily="Microsoft YaHei UI"
FontSize="20"
IsSnapToTickEnabled="True" Value="255"
Foreground="#b91c1c" TickFrequency="1"
IsSnapToTickEnabled="True" Value="255" TickFrequency="1"
TickPlacement="None"
ValueChanged="InkAlphaSlider_ValueChanged">
<Slider.Resources>
</Slider.Resources>
</Slider>
ValueChanged="InkAlphaSlider_ValueChanged"/>
<TextBlock
Text="{Binding Value, ElementName=InkAlphaSlider, Mode=OneWay}"
FontFamily="Consolas"
@ -4891,12 +4914,9 @@
Minimum="1" Maximum="255" Width="208"
FontFamily="Microsoft YaHei UI" FontSize="20"
IsSnapToTickEnabled="True" Value="255"
Foreground="#b91c1c" TickFrequency="1"
TickFrequency="1"
TickPlacement="None"
ValueChanged="InkAlphaSlider_ValueChanged">
<Slider.Resources>
</Slider.Resources>
</Slider>
ValueChanged="InkAlphaSlider_ValueChanged"/>
<TextBlock
Text="{Binding Value, ElementName=InkAlphaSlider, Mode=OneWay}"
FontFamily="Consolas" VerticalAlignment="Bottom"

View File

@ -37,6 +37,11 @@ namespace Ink_Canvas {
}
public async void FoldFloatingBar_MouseUp(object sender, MouseButtonEventArgs e) {
await FoldFloatingBar(sender);
}
public async Task FoldFloatingBar(object sender)
{
var isShouldRejectAction = false;
await Dispatcher.InvokeAsync(() => {
@ -44,7 +49,7 @@ namespace Ink_Canvas {
((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
if (sender == Fold_Icon && lastBorderMouseDownObject != Fold_Icon) isShouldRejectAction = true;
});
if (isShouldRejectAction) return;
// FloatingBarIcons_MouseUp_New(sender);
@ -186,6 +191,11 @@ namespace Ink_Canvas {
}
public async void UnFoldFloatingBar_MouseUp(object sender, MouseButtonEventArgs e) {
await UnFoldFloatingBar(sender);
}
public async Task UnFoldFloatingBar(object sender)
{
await Dispatcher.InvokeAsync(() => {
LeftUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
RightUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
@ -206,12 +216,14 @@ namespace Ink_Canvas {
await Task.Delay(0);
await Dispatcher.InvokeAsync(() => {
if (StackPanelPPTControls.Visibility == Visibility.Visible) {
if (StackPanelPPTControls.Visibility == Visibility.Visible)
{
if (Settings.PowerPointSettings.IsShowBottomPPTNavigationPanel &&
isDisplayingOrHidingBlackboard == false)
AnimationsHelper.ShowWithSlideFromBottomAndFade(BottomViewboxPPTSidesControl);
if (Settings.PowerPointSettings.IsShowSidePPTNavigationPanel &&
isDisplayingOrHidingBlackboard == false) {
isDisplayingOrHidingBlackboard == false)
{
AnimationsHelper.ShowWithScaleFromLeft(LeftSidePanelForPPTNavigation);
AnimationsHelper.ShowWithScaleFromRight(RightSidePanelForPPTNavigation);
}
@ -227,8 +239,7 @@ namespace Ink_Canvas {
isFloatingBarChangingHideMode = false;
}
private async void
SidePannelMarginAnimation(int MarginFromEdge, bool isNoAnimation = false) // Possible value: -50, -10
private async void SidePannelMarginAnimation(int MarginFromEdge, bool isNoAnimation = false) // Possible value: -50, -10
{
await Dispatcher.InvokeAsync(() => {
if (MarginFromEdge == -10) LeftSidePanel.Visibility = Visibility.Visible;

View File

@ -17,8 +17,7 @@ using MessageBox = System.Windows.MessageBox;
using iNKORE.UI.WPF.Modern;
using Microsoft.Office.Core;
namespace Ink_Canvas
{
namespace Ink_Canvas {
public partial class MainWindow : Window {
public static Microsoft.Office.Interop.PowerPoint.Application pptApplication = null;
public static Presentation presentation = null;
@ -81,7 +80,6 @@ namespace Ink_Canvas
private static bool IsShowingAutoplaySlidesWindow = false;
private void TimerCheckPPT_Elapsed(object sender, ElapsedEventArgs e) {
if (IsShowingRestoreHiddenSlidesWindow || IsShowingAutoplaySlidesWindow) return;
try {
@ -102,7 +100,7 @@ namespace Ink_Canvas
timerCheckPPT.Stop();
//获得演示文稿对象
presentation = pptApplication.ActivePresentation;
// 获得幻灯片对象集合
slides = presentation.Slides;
@ -132,7 +130,7 @@ namespace Ink_Canvas
// 此处是已经开启了
PptApplication_PresentationOpen(null);
//如果检测到已经开始放映,则立即进入画板模式
if (pptApplication.SlideShowWindows.Count >= 1)
PptApplication_SlideShowBegin(pptApplication.SlideShowWindows[1]);
@ -151,8 +149,7 @@ namespace Ink_Canvas
var folderPath = Settings.Automation.AutoSavedStrokesLocation +
@"\Auto Saved - Presentations\" + presentation.Name + "_" +
presentation.Slides.Count;
try
{
try {
if (!File.Exists(folderPath + "/Position")) return;
if (!int.TryParse(File.ReadAllText(folderPath + "/Position"), out var page)) return;
if (page <= 0) return;
@ -164,27 +161,23 @@ namespace Ink_Canvas
presentation.Windows[1].View.GotoSlide(page);
}).ShowDialog();
}
catch (Exception ex)
{
catch (Exception ex) {
LogHelper.WriteLogToFile(ex.ToString(), LogHelper.LogType.Error);
}
}), DispatcherPriority.Normal);
//检查是否有隐藏幻灯片
if (Settings.PowerPointSettings.IsNotifyHiddenPage)
{
if (Settings.PowerPointSettings.IsNotifyHiddenPage) {
var isHaveHiddenSlide = false;
foreach (Slide slide in slides)
if (slide.SlideShowTransition.Hidden == Microsoft.Office.Core.MsoTriState.msoTrue)
{
if (slide.SlideShowTransition.Hidden == Microsoft.Office.Core.MsoTriState.msoTrue) {
isHaveHiddenSlide = true;
break;
}
Application.Current.Dispatcher.BeginInvoke(new Action(() => {
if (isHaveHiddenSlide && !IsShowingRestoreHiddenSlidesWindow)
{
if (isHaveHiddenSlide && !IsShowingRestoreHiddenSlidesWindow) {
IsShowingRestoreHiddenSlidesWindow = true;
new YesOrNoNotificationWindow("检测到此演示文档中包含隐藏的幻灯片,是否取消隐藏?",
() => {
@ -194,11 +187,8 @@ namespace Ink_Canvas
slide.SlideShowTransition.Hidden =
Microsoft.Office.Core.MsoTriState.msoFalse;
IsShowingRestoreHiddenSlidesWindow = false;
}, () => {
IsShowingRestoreHiddenSlidesWindow = false;
}, () => {
IsShowingRestoreHiddenSlidesWindow = false;
}).ShowDialog();
}, () => { IsShowingRestoreHiddenSlidesWindow = false; },
() => { IsShowingRestoreHiddenSlidesWindow = false; }).ShowDialog();
}
BtnPPTSlideShow.Visibility = Visibility.Visible;
@ -208,34 +198,27 @@ namespace Ink_Canvas
//检测是否有自动播放
if (Settings.PowerPointSettings.IsNotifyAutoPlayPresentation
// && presentation.SlideShowSettings.AdvanceMode == PpSlideShowAdvanceMode.ppSlideShowUseSlideTimings
&& BtnPPTSlideShowEnd.Visibility != Visibility.Visible)
{
&& BtnPPTSlideShowEnd.Visibility != Visibility.Visible) {
bool hasSlideTimings = false;
foreach (Slide slide in presentation.Slides)
{
if (slide.SlideShowTransition.AdvanceOnTime == MsoTriState.msoTrue && slide.SlideShowTransition.AdvanceTime > 0)
{
foreach (Slide slide in presentation.Slides) {
if (slide.SlideShowTransition.AdvanceOnTime == MsoTriState.msoTrue &&
slide.SlideShowTransition.AdvanceTime > 0) {
hasSlideTimings = true;
break;
}
}
if (hasSlideTimings)
{
Application.Current.Dispatcher.BeginInvoke((Action)(() =>
{
if (hasSlideTimings && !IsShowingAutoplaySlidesWindow)
{
if (hasSlideTimings) {
Application.Current.Dispatcher.BeginInvoke((Action)(() => {
if (hasSlideTimings && !IsShowingAutoplaySlidesWindow) {
IsShowingAutoplaySlidesWindow = true;
new YesOrNoNotificationWindow("检测到此演示文档中自动播放或排练计时已经启用,可能导致幻灯片自动翻页,是否取消?",
() => {
presentation.SlideShowSettings.AdvanceMode =
PpSlideShowAdvanceMode.ppSlideShowManualAdvance;
IsShowingAutoplaySlidesWindow = false;
}, () => {
IsShowingAutoplaySlidesWindow = false;
}, () => {
IsShowingAutoplaySlidesWindow = false;
}).ShowDialog();
}, () => { IsShowingAutoplaySlidesWindow = false; },
() => { IsShowingAutoplaySlidesWindow = false; }).ShowDialog();
}
}));
presentation.SlideShowSettings.AdvanceMode = PpSlideShowAdvanceMode.ppSlideShowManualAdvance;
@ -262,15 +245,16 @@ namespace Ink_Canvas
private string pptName = null;
private void PptApplication_SlideShowBegin(SlideShowWindow Wn) {
private async void PptApplication_SlideShowBegin(SlideShowWindow Wn) {
if (Settings.Automation.IsAutoFoldInPPTSlideShow && !isFloatingBarFolded)
FoldFloatingBar_MouseUp(null, null);
else if (isFloatingBarFolded) UnFoldFloatingBar_MouseUp(null, null);
await FoldFloatingBar(new object());
else if (isFloatingBarFolded) await UnFoldFloatingBar(new object());
isStopInkReplay=true;
isStopInkReplay = true;
LogHelper.WriteLogToFile("PowerPoint Application Slide Show Begin", LogHelper.LogType.Event);
Application.Current.Dispatcher.Invoke(() => {
await Application.Current.Dispatcher.InvokeAsync(() => {
if (currentMode != 0) ImageBlackboard_MouseUp(null, null);
//调整颜色
@ -286,14 +270,12 @@ namespace Ink_Canvas
//SymbolIconBtnColorBlackContent.Foreground = Brushes.White;
ThemeManager.Current.ApplicationTheme = ApplicationTheme.Dark;
//BtnExit.Background = new SolidColorBrush(StringToColor("#AACCCCCC"));
}
else {
} else {
//Dark
//BtnExit.Background = new SolidColorBrush(StringToColor("#AA555555"));
}
}
}
else if (screenRatio == -256 / 135) { }
} else if (screenRatio == -256 / 135) { }
lastDesktopInkColor = 1;
@ -343,8 +325,7 @@ namespace Ink_Canvas
if (Settings.PowerPointSettings.IsShowSidePPTNavigationPanel && !isFloatingBarFolded) {
AnimationsHelper.ShowWithScaleFromLeft(LeftSidePanelForPPTNavigation);
AnimationsHelper.ShowWithScaleFromRight(RightSidePanelForPPTNavigation);
}
else {
} else {
LeftSidePanelForPPTNavigation.Visibility = Visibility.Collapsed;
RightSidePanelForPPTNavigation.Visibility = Visibility.Collapsed;
}
@ -352,10 +333,10 @@ namespace Ink_Canvas
BtnPPTSlideShow.Visibility = Visibility.Collapsed;
BtnPPTSlideShowEnd.Visibility = Visibility.Visible;
ViewBoxStackPanelMain.Margin = new Thickness(10, 10, 10, 10);
ViewboxFloatingBar.Opacity = Settings.Appearance.ViewboxFloatingBarOpacityInPPTValue;
if (Settings.PowerPointSettings.IsShowCanvasAtNewSlideShow &&
!Settings.Automation.IsAutoFoldInPPTSlideShow &&
GridTransparencyFakeBackground.Background == Brushes.Transparent && !isFloatingBarFolded) {
if (currentMode != 0) {
currentMode = 0;
@ -378,21 +359,20 @@ namespace Ink_Canvas
BorderFloatingBarMainControls.Visibility = Visibility.Visible;
if (Settings.PowerPointSettings.IsShowCanvasAtNewSlideShow)
if (Settings.PowerPointSettings.IsShowCanvasAtNewSlideShow &&
!Settings.Automation.IsAutoFoldInPPTSlideShow)
BtnColorRed_Click(null, null);
isEnteredSlideShowEndEvent = false;
PptNavigationTextBlock.Text = $"{Wn.View.CurrentShowPosition}/{Wn.Presentation.Slides.Count}";
LogHelper.NewLog("PowerPoint Slide Show Loading process complete");
if (!isFloatingBarFolded)
{
if (!isFloatingBarFolded) {
new Thread(new ThreadStart(() => {
Thread.Sleep(100);
Application.Current.Dispatcher.Invoke(() => { ViewboxFloatingBarMarginAnimation(60); });
})).Start();
}
});
}
@ -427,8 +407,7 @@ namespace Ink_Canvas
LogHelper.WriteLogToFile(string.Format(
"Saved strokes for Slide {0}, size={1}, byteLength={2}", i.ToString(),
memoryStreams[i].Length, byteLength));
}
else {
} else {
File.Delete(folderPath + @"\" + i.ToString("0000") + ".icstk");
}
}
@ -448,8 +427,7 @@ namespace Ink_Canvas
BtnExit.Foreground = Brushes.Black;
//SymbolIconBtnColorBlackContent.Foreground = Brushes.White;
ThemeManager.Current.ApplicationTheme = ApplicationTheme.Light;
}
else {
} else {
//Dark
}
@ -675,6 +653,5 @@ namespace Ink_Canvas
private void ImagePPTControlEnd_MouseUp(object sender, MouseButtonEventArgs e) {
BtnPPTSlideShowEnd_Click(BtnPPTSlideShowEnd, null);
}
}
}

View File

@ -677,7 +677,8 @@ namespace Ink_Canvas {
if (Settings.Automation.IsAutoKillEasiNote || Settings.Automation.IsAutoKillPptService ||
Settings.Automation.IsAutoKillHiteAnnotation || Settings.Automation.IsAutoKillInkCanvas
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT)
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT || Settings.Automation.IsAutoKillVComYouJiao
|| Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation)
timerKillProcess.Start();
else
timerKillProcess.Stop();
@ -689,7 +690,8 @@ namespace Ink_Canvas {
SaveSettingsToFile();
if (Settings.Automation.IsAutoKillEasiNote || Settings.Automation.IsAutoKillPptService ||
Settings.Automation.IsAutoKillHiteAnnotation || Settings.Automation.IsAutoKillInkCanvas
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT)
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT || Settings.Automation.IsAutoKillVComYouJiao
|| Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation)
timerKillProcess.Start();
else
timerKillProcess.Stop();
@ -701,7 +703,36 @@ namespace Ink_Canvas {
SaveSettingsToFile();
if (Settings.Automation.IsAutoKillEasiNote || Settings.Automation.IsAutoKillPptService ||
Settings.Automation.IsAutoKillHiteAnnotation || Settings.Automation.IsAutoKillInkCanvas
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT)
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT || Settings.Automation.IsAutoKillVComYouJiao
|| Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation)
timerKillProcess.Start();
else
timerKillProcess.Stop();
}
private void ToggleSwitchAutoKillVComYouJiao_Toggled(object sender, RoutedEventArgs e)
{
if (!isLoaded) return;
Settings.Automation.IsAutoKillVComYouJiao = ToggleSwitchAutoKillVComYouJiao.IsOn;
SaveSettingsToFile();
if (Settings.Automation.IsAutoKillEasiNote || Settings.Automation.IsAutoKillPptService ||
Settings.Automation.IsAutoKillHiteAnnotation || Settings.Automation.IsAutoKillInkCanvas
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT || Settings.Automation.IsAutoKillVComYouJiao
|| Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation)
timerKillProcess.Start();
else
timerKillProcess.Stop();
}
private void ToggleSwitchAutoKillSeewoLauncher2DesktopAnnotation_Toggled(object sender, RoutedEventArgs e)
{
if (!isLoaded) return;
Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation = ToggleSwitchAutoKillSeewoLauncher2DesktopAnnotation.IsOn;
SaveSettingsToFile();
if (Settings.Automation.IsAutoKillEasiNote || Settings.Automation.IsAutoKillPptService ||
Settings.Automation.IsAutoKillHiteAnnotation || Settings.Automation.IsAutoKillInkCanvas
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT || Settings.Automation.IsAutoKillVComYouJiao
|| Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation)
timerKillProcess.Start();
else
timerKillProcess.Stop();
@ -714,7 +745,8 @@ namespace Ink_Canvas {
SaveSettingsToFile();
if (Settings.Automation.IsAutoKillEasiNote || Settings.Automation.IsAutoKillPptService ||
Settings.Automation.IsAutoKillHiteAnnotation || Settings.Automation.IsAutoKillInkCanvas
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT)
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT || Settings.Automation.IsAutoKillVComYouJiao
|| Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation)
timerKillProcess.Start();
else
timerKillProcess.Stop();
@ -727,7 +759,8 @@ namespace Ink_Canvas {
SaveSettingsToFile();
if (Settings.Automation.IsAutoKillEasiNote || Settings.Automation.IsAutoKillPptService ||
Settings.Automation.IsAutoKillHiteAnnotation || Settings.Automation.IsAutoKillInkCanvas
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT)
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT || Settings.Automation.IsAutoKillVComYouJiao
|| Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation)
timerKillProcess.Start();
else
timerKillProcess.Stop();
@ -740,7 +773,8 @@ namespace Ink_Canvas {
SaveSettingsToFile();
if (Settings.Automation.IsAutoKillEasiNote || Settings.Automation.IsAutoKillPptService ||
Settings.Automation.IsAutoKillHiteAnnotation || Settings.Automation.IsAutoKillInkCanvas
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT)
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT || Settings.Automation.IsAutoKillVComYouJiao
|| Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation)
timerKillProcess.Start();
else
timerKillProcess.Stop();
@ -1014,9 +1048,11 @@ namespace Ink_Canvas {
Settings.Automation.IsAutoFoldInPPTSlideShow = false;
Settings.Automation.IsAutoKillPptService = false;
Settings.Automation.IsAutoKillEasiNote = false;
Settings.Automation.IsAutoKillVComYouJiao = false;
Settings.Automation.IsAutoKillInkCanvas = false;
Settings.Automation.IsAutoKillICA = false;
Settings.Automation.IsAutoKillIDT = true;
Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation = false;
Settings.Automation.IsSaveScreenshotsInDateFolders = false;
Settings.Automation.IsAutoSaveStrokesAtScreenshot = true;
Settings.Automation.IsAutoSaveStrokesAtClear = true;

View File

@ -564,7 +564,8 @@ namespace Ink_Canvas {
if (Settings.Automation.IsAutoKillEasiNote || Settings.Automation.IsAutoKillPptService ||
Settings.Automation.IsAutoKillHiteAnnotation || Settings.Automation.IsAutoKillInkCanvas
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT) {
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT || Settings.Automation.IsAutoKillVComYouJiao
|| Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation) {
timerKillProcess.Start();
} else {
timerKillProcess.Stop();
@ -576,12 +577,17 @@ namespace Ink_Canvas {
ToggleSwitchAutoKillPptService.IsOn = Settings.Automation.IsAutoKillPptService;
ToggleSwitchAutoKillVComYouJiao.IsOn = Settings.Automation.IsAutoKillVComYouJiao;
ToggleSwitchAutoKillInkCanvas.IsOn = Settings.Automation.IsAutoKillInkCanvas;
ToggleSwitchAutoKillICA.IsOn = Settings.Automation.IsAutoKillICA;
ToggleSwitchAutoKillIDT.IsOn = Settings.Automation.IsAutoKillIDT;
ToggleSwitchAutoKillSeewoLauncher2DesktopAnnotation.IsOn =
Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation;
ToggleSwitchAutoSaveStrokesAtClear.IsOn = Settings.Automation.IsAutoSaveStrokesAtClear;
ToggleSwitchSaveScreenshotsInDateFolders.IsOn = Settings.Automation.IsSaveScreenshotsInDateFolders;

View File

@ -83,9 +83,6 @@ namespace Ink_Canvas {
}
private void TimerKillProcess_Elapsed(object sender, ElapsedEventArgs e) {
Trace.WriteLine("timer up");
try {
// 希沃相关: easinote swenserver RemoteProcess EasiNote.MediaHttpService smartnote.cloud EasiUpdate smartnote EasiUpdate3 EasiUpdate3Protect SeewoP2P CefSharp.BrowserSubprocess SeewoUploadService
var arg = "/F";
@ -106,6 +103,12 @@ namespace Ink_Canvas {
if (processes.Length > 0) arg += " /IM HiteAnnotation.exe";
}
if (Settings.Automation.IsAutoKillVComYouJiao)
{
var processes = Process.GetProcessesByName("VcomTeach");
if (processes.Length > 0) arg += " /IM VcomTeach.exe";
}
if (Settings.Automation.IsAutoKillICA) {
var processesAnnotation = Process.GetProcessesByName("Ink Canvas Annotation");
var processesArtistry = Process.GetProcessesByName("Ink Canvas Artistry");
@ -123,6 +126,12 @@ namespace Ink_Canvas {
if (processes.Length > 0) arg += " /IM \"智绘教.exe\"";
}
if (Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation) {
//由于希沃桌面2.0提供的桌面批注是64位应用程序32位程序无法访问目前暂不做精准匹配只匹配进程名称后面会考虑封装一套基于P/Invoke和WMI的综合进程识别方案。
var processes = Process.GetProcessesByName("DesktopAnnotation");
if (processes.Length > 0) arg += " /IM DesktopAnnotation.exe";
}
if (arg != "/F") {
var p = new Process();
p.StartInfo = new ProcessStartInfo("taskkill", arg);
@ -158,11 +167,23 @@ namespace Ink_Canvas {
ShowNotification("“智绘教”已自动关闭");
});
}
if (arg.Contains("VcomTeach"))
{
Dispatcher.Invoke(() => {
ShowNotification("“优教授课端”已自动关闭");
});
}
if (arg.Contains("DesktopAnnotation"))
{
Dispatcher.Invoke(() => {
ShowNotification("“DesktopAnnotation”已自动关闭");
});
}
}
}
catch {
Trace.WriteLine("timer has error");
}
catch {}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -273,6 +273,12 @@ namespace Ink_Canvas
[JsonProperty("isAutoKillHiteAnnotation")]
public bool IsAutoKillHiteAnnotation { get; set; } = false;
[JsonProperty("isAutoKillVComYouJiao")]
public bool IsAutoKillVComYouJiao { get; set; } = false;
[JsonProperty("isAutoKillSeewoLauncher2DesktopAnnotation")]
public bool IsAutoKillSeewoLauncher2DesktopAnnotation { get; set; } = false;
[JsonProperty("isAutoKillInkCanvas")]
public bool IsAutoKillInkCanvas { get; set; } = false;