Compare commits

...

44 Commits

Author SHA1 Message Date
CJK_mkp 71ad15ce25 Merge pull request #22 from awesome-iwb/beta
ICC CE 1.4.7 (Beta1.4.14)
2025-06-10 22:15:45 +08:00
CJK_mkp 5a3101a182 修改版本号 2025-06-10 22:10:27 +08:00
CJK_mkp eba888082a Revert "try to fix:issue #3"
This reverts commit 43beffeadd.
2025-06-10 18:00:31 +08:00
CJK_mkp 43beffeadd try to fix:issue #3 2025-06-10 17:50:31 +08:00
CJK_mkp 3645906067 try to fix:issue #13 2025-06-10 17:33:46 +08:00
CJK_mkp 0206273200 improve:Ci点名功能 2025-06-10 17:21:26 +08:00
CJK_mkp 0a50d15da0 fix:PPT放映模式下进退白板翻页按钮不显示 2025-06-10 17:10:53 +08:00
CJK_mkp 85d98c0b70 improve:改进了日志输出 2025-06-10 16:48:45 +08:00
CJK_mkp 6a02bf01d5 ICC CE 1.4.6 (Beta 1.4.11)
ICC CE 1.4.6
2025-06-10 14:32:53 +08:00
CJK_mkp 9b1d9c117e add:调用Classisland点名功能
在点名中增加了调用Ci的点名选项
2025-06-10 14:19:01 +08:00
CJK_mkp f2b32b40a4 fix:issue #5
修改检测逻辑,优化进程管理
2025-06-10 11:09:51 +08:00
CJK_mkp 457e9e5e74 fix:issue #11 2025-06-09 11:49:42 +08:00
CJK_mkp 4b4aaae001 improve:墨迹保存 2025-06-09 08:41:23 +08:00
CJK_mkp 11369aedf8 improve:墨迹保存 2025-06-09 07:40:00 +08:00
CJK_mkp cc38e8f148 improve:墨迹保存 2025-06-09 00:16:15 +08:00
CJK_mkp b0c6bbb8f7 improve:墨迹保存 2025-06-09 00:09:24 +08:00
CJK_mkp 5399c9c7b9 improve:墨迹保存 2025-06-09 00:05:28 +08:00
CJK_mkp fe58c5c4d1 improve:墨迹保存 2025-06-09 00:02:27 +08:00
CJK_mkp a42aa75308 improve:墨迹保存 2025-06-08 23:58:20 +08:00
CJK_mkp a3b61d984d improve:墨迹保存 2025-06-08 23:47:27 +08:00
CJK_mkp c2f2f3a9af fix:issue #18 2025-06-08 23:13:30 +08:00
CJK_mkp 4a626ec245 Merge pull request #19 from awesome-iwb/beta
ICC CE 1.4.5
2025-06-08 19:47:20 +08:00
CJK_mkp 57317be766 Update MW_PPT.cs 2025-06-08 19:37:15 +08:00
Hydrogen 6abd433f13 Merge pull request #17 from awesome-iwb/beta 2025-06-08 13:45:03 +08:00
Hydrogen ad049c517d 修改透明版图标
上传由Hydrogen设计的新版透明图标(待测试)
2025-06-08 13:34:58 +08:00
Hydrogen 24332f819e 删除透明版图标,为上传新透明图标做准备 2025-06-08 13:33:26 +08:00
CJK_mkp 1d3b573425 Merge pull request #16 from awesome-iwb/beta
ICC CE 1.4.4
2025-06-08 11:16:49 +08:00
CJK_mkp 8e7a377f66 Merge pull request #15 from Hydro11451/beta
修复智绘教查杀并修改部分文字
2025-06-08 11:03:27 +08:00
Hydrogen dbe0818f35 修复智绘教查杀并修改部分文字 2025-06-08 10:12:35 +08:00
CJK_mkp 5a4a97d4be Merge pull request #10 from CJKmkp/beta
ICC CE 1.4.3
2025-06-07 16:19:15 +08:00
CJK_mkp 25f83e1df0 Merge pull request #8 from Hydro11451/beta
修正“特别鸣谢”的一些内容
2025-06-07 16:04:36 +08:00
Hydrogen 5d90d2d1b6 Merge branch 'CJKmkp:beta' into beta 2025-06-07 14:22:10 +08:00
Hydrogen f14bf6da16 修正“特别鸣谢”的一些内容 2025-06-07 14:20:58 +08:00
CJK_mkp 680779530e Merge branch 'beta' of https://github.com/CJKmkp/ICC-CE into beta 2025-06-07 14:20:17 +08:00
CJK_mkp 7d6358c771 Update icc-transparent-dark-small.png 2025-06-07 14:19:59 +08:00
CJK_mkp 6255b0926a Merge pull request #7 from Hydro11451/beta
更改浮动工具栏图标设置项相关文字
2025-06-07 14:05:43 +08:00
Hydrogen ace6f57e3f 更改浮动工具栏图标设置项相关文字 2025-06-07 13:40:07 +08:00
CJK_mkp 6a7951e8a4 修改图标 2025-06-07 10:50:21 +08:00
CJK_mkp 234277fee8 Revert "修改图标"
This reverts commit f5bac0bed9.
2025-06-07 10:44:28 +08:00
CJK_mkp f5bac0bed9 修改图标 2025-06-07 10:38:00 +08:00
CJK_mkp 05a5e1a0f1 Merge branch 'beta' of https://github.com/CJKmkp/ICC-CE into beta 2025-06-07 08:41:07 +08:00
CJK_mkp 2ed034ba27 Fix:issue #5 2025-06-07 08:41:01 +08:00
CJK_mkp af3663d20e Merge pull request #6 from CJKmkp/main
同步分支
2025-06-06 23:05:24 +08:00
CJK_mkp 247d15e0c8 Create CODE_OF_CONDUCT.md 2025-06-06 23:03:41 +08:00
69 changed files with 2848 additions and 2319 deletions
+3 -1
View File
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="UserContentModel"> <component name="UserContentModel">
<attachedFolders /> <attachedFolders>
<Path>../../ICC CE main</Path>
</attachedFolders>
<explicitIncludes /> <explicitIncludes />
<explicitExcludes /> <explicitExcludes />
</component> </component>
+1 -1
View File
@@ -1 +1 @@
5.0.1 1.4.7
+128
View File
@@ -0,0 +1,128 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
QQ:2564608840.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
+29 -18
View File
@@ -1,5 +1,7 @@
using System; using System;
using System.Diagnostics;
using System.IO; using System.IO;
using System.Threading;
namespace Ink_Canvas.Helpers namespace Ink_Canvas.Helpers
{ {
@@ -14,24 +16,19 @@ namespace Ink_Canvas.Helpers
public static void NewLog(Exception ex) public static void NewLog(Exception ex)
{ {
if (ex == null) return;
var stackTrace = ex.StackTrace ?? "<no stack trace>";
var msg = $"[Exception] Type: {ex.GetType().FullName}\nMessage: {ex.Message}\nStackTrace: {stackTrace}";
if (ex.InnerException != null)
{
msg += $"\nInnerException: {ex.InnerException.GetType().FullName} - {ex.InnerException.Message}\n{ex.InnerException.StackTrace}";
}
WriteLogToFile(msg, LogType.Error);
} }
public static void WriteLogToFile(string str, LogType logType = LogType.Info) public static void WriteLogToFile(string str, LogType logType = LogType.Info)
{ {
string strLogType = "Info"; string strLogType = logType.ToString();
switch (logType)
{
case LogType.Event:
strLogType = "Event";
break;
case LogType.Trace:
strLogType = "Trace";
break;
case LogType.Error:
strLogType = "Error";
break;
}
try try
{ {
var file = App.RootPath + LogFile; var file = App.RootPath + LogFile;
@@ -39,16 +36,30 @@ namespace Ink_Canvas.Helpers
{ {
Directory.CreateDirectory(App.RootPath); Directory.CreateDirectory(App.RootPath);
} }
StreamWriter sw = new StreamWriter(file, true); var threadId = Thread.CurrentThread.ManagedThreadId;
sw.WriteLine(string.Format("{0} [{1}] {2}", DateTime.Now.ToString("O"), strLogType, str)); var callingMethod = new StackTrace(2, true).GetFrame(0);
sw.Close(); string callerInfo = "<unknown>";
if (callingMethod != null)
{
var method = callingMethod.GetMethod();
if (method != null)
{
var className = method.DeclaringType != null ? method.DeclaringType.FullName : "<no class>";
callerInfo = $"{className}.{method.Name}";
}
}
string logLine = string.Format("{0} [T{1}] [{2}] [{3}] {4}", DateTime.Now.ToString("O"), threadId, strLogType, callerInfo, str);
using (StreamWriter sw = new StreamWriter(file, true))
{
sw.WriteLine(logLine);
}
} }
catch { } catch { }
} }
internal static void WriteLogToFile(string v, object warning) internal static void WriteLogToFile(string v, object warning)
{ {
throw new NotImplementedException(); WriteLogToFile($"[Warning] {v}", LogType.Warning);
} }
public enum LogType public enum LogType
+6 -5
View File
@@ -475,8 +475,8 @@
<ComboBox Name="ComboBoxFloatingBarImg" FontFamily="Microsoft YaHei UI" <ComboBox Name="ComboBoxFloatingBarImg" FontFamily="Microsoft YaHei UI"
SelectedIndex="0" SelectedIndex="0"
SelectionChanged="ComboBoxFloatingBarImg_SelectionChanged"> SelectionChanged="ComboBoxFloatingBarImg_SelectionChanged">
<ComboBoxItem Content="“icc!”默认蓝色" FontFamily="Microsoft YaHei UI" /> <ComboBoxItem Content="“ICC-CE”默认" FontFamily="Microsoft YaHei UI" />
<ComboBoxItem Content="“icc!”黑色透明版" FontFamily="Microsoft YaHei UI" /> <ComboBoxItem Content="“ICC-CE”黑色透明版" FontFamily="Microsoft YaHei UI" />
<ComboBoxItem Content="酷安斗鸡眼滑稽" FontFamily="Microsoft YaHei UI" /> <ComboBoxItem Content="酷安斗鸡眼滑稽" FontFamily="Microsoft YaHei UI" />
<ComboBoxItem Content="酷安受虐滑稽" FontFamily="Microsoft YaHei UI" /> <ComboBoxItem Content="酷安受虐滑稽" FontFamily="Microsoft YaHei UI" />
<ComboBoxItem Content="酷安呲牙笑" FontFamily="Microsoft YaHei UI" /> <ComboBoxItem Content="酷安呲牙笑" FontFamily="Microsoft YaHei UI" />
@@ -1724,7 +1724,7 @@
<Image Source="/Resources/Icons-png/InkCanvas.png" Margin="0,0,6,0" <Image Source="/Resources/Icons-png/InkCanvas.png" Margin="0,0,6,0"
Width="28" Width="28"
Height="28" VerticalAlignment="Center" /> Height="28" VerticalAlignment="Center" />
<TextBlock Foreground="#fafafa" Text="自动查杀 Ink Canvas" <TextBlock Foreground="#fafafa" Text="自动查杀 Ink Canvas 和 IC+"
VerticalAlignment="Center" VerticalAlignment="Center"
FontSize="14" Margin="0,0,16,0" /> FontSize="14" Margin="0,0,16,0" />
<ui:ToggleSwitch OnContent="" OffContent="" <ui:ToggleSwitch OnContent="" OffContent=""
@@ -1748,7 +1748,7 @@
<Image Source="/Resources/Icons-png/idt.png" Margin="0,0,6,0" <Image Source="/Resources/Icons-png/idt.png" Margin="0,0,6,0"
Width="28" Width="28"
Height="28" VerticalAlignment="Center" /> Height="28" VerticalAlignment="Center" />
<TextBlock Foreground="#fafafa" Text="自动查杀智绘教" VerticalAlignment="Center" <TextBlock Foreground="#fafafa" Text="自动查杀 智绘教Inkeys(仅限新版)" VerticalAlignment="Center"
FontSize="14" Margin="0,0,16,0" /> FontSize="14" Margin="0,0,16,0" />
<ui:ToggleSwitch OnContent="" OffContent="" <ui:ToggleSwitch OnContent="" OffContent=""
Name="ToggleSwitchAutoKillIDT" Name="ToggleSwitchAutoKillIDT"
@@ -1802,7 +1802,8 @@
<TextBlock Foreground="#fafafa" Text="墨迹与截图的保存路径" VerticalAlignment="Center" <TextBlock Foreground="#fafafa" Text="墨迹与截图的保存路径" VerticalAlignment="Center"
FontSize="14" Margin="0,0,16,0" /> FontSize="14" Margin="0,0,16,0" />
<ui:SimpleStackPanel Orientation="Horizontal" Spacing="10"> <ui:SimpleStackPanel Orientation="Horizontal" Spacing="10">
<TextBox Width="320" x:Name="AutoSavedStrokesLocation" Text="D:\Ink Canvas" <TextBox Width="320" x:Name="AutoSavedStrokesLocation"
Text="{Binding AppDomain.CurrentDomain.BaseDirectory, StringFormat={}Saves}"
TextWrapping="Wrap" TextWrapping="Wrap"
TextChanged="AutoSavedStrokesLocationTextBox_TextChanged" /> TextChanged="AutoSavedStrokesLocationTextBox_TextChanged" />
<Button Name="AutoSavedStrokesLocationButton" Content="浏览" <Button Name="AutoSavedStrokesLocationButton" Content="浏览"
@@ -485,7 +485,7 @@ namespace Ink_Canvas {
RightBottomPanelForPPTNavigation.Visibility = Visibility.Collapsed; RightBottomPanelForPPTNavigation.Visibility = Visibility.Collapsed;
LeftSidePanelForPPTNavigation.Visibility = Visibility.Collapsed; LeftSidePanelForPPTNavigation.Visibility = Visibility.Collapsed;
RightSidePanelForPPTNavigation.Visibility = Visibility.Collapsed; RightSidePanelForPPTNavigation.Visibility = Visibility.Collapsed;
//入黑板 //入黑板
/* /*
if (Not_Enter_Blackboard_fir_Mouse_Click) {// BUG-Fixed_tmp:程序启动后直接进入白板会导致后续撤销功能、退出白板无法恢复墨迹 if (Not_Enter_Blackboard_fir_Mouse_Click) {// BUG-Fixed_tmp:程序启动后直接进入白板会导致后续撤销功能、退出白板无法恢复墨迹
@@ -501,7 +501,6 @@ namespace Ink_Canvas {
Application.Current.Dispatcher.Invoke(() => { ViewboxFloatingBarMarginAnimation(60); }); Application.Current.Dispatcher.Invoke(() => { ViewboxFloatingBarMarginAnimation(60); });
})).Start(); })).Start();
HideSubPanels();
if (GridTransparencyFakeBackground.Background == Brushes.Transparent) if (GridTransparencyFakeBackground.Background == Brushes.Transparent)
{ {
if (currentMode == 1) if (currentMode == 1)
@@ -514,6 +513,11 @@ namespace Ink_Canvas {
} }
BtnHideInkCanvas_Click(BtnHideInkCanvas, null); BtnHideInkCanvas_Click(BtnHideInkCanvas, null);
HideSubPanels();
}
else
{
HideSubPanels();
} }
if (Settings.Gesture.AutoSwitchTwoFingerGesture) // 自动关闭多指书写、开启双指移动 if (Settings.Gesture.AutoSwitchTwoFingerGesture) // 自动关闭多指书写、开启双指移动
@@ -574,6 +578,15 @@ namespace Ink_Canvas {
if (dopsc[2] == '2' && isDisplayingOrHidingBlackboard == false) AnimationsHelper.ShowWithFadeIn(LeftSidePanelForPPTNavigation); if (dopsc[2] == '2' && isDisplayingOrHidingBlackboard == false) AnimationsHelper.ShowWithFadeIn(LeftSidePanelForPPTNavigation);
if (dopsc[3] == '2' && isDisplayingOrHidingBlackboard == false) AnimationsHelper.ShowWithFadeIn(RightSidePanelForPPTNavigation); if (dopsc[3] == '2' && isDisplayingOrHidingBlackboard == false) AnimationsHelper.ShowWithFadeIn(RightSidePanelForPPTNavigation);
} }
// 修复PPT放映时点击白板按钮后翻页按钮不显示的问题
if (BtnPPTSlideShowEnd.Visibility == Visibility.Visible)
{
// 强制显示PPT翻页按钮
LeftBottomPanelForPPTNavigation.Visibility = Visibility.Visible;
RightBottomPanelForPPTNavigation.Visibility = Visibility.Visible;
LeftSidePanelForPPTNavigation.Visibility = Visibility.Visible;
RightSidePanelForPPTNavigation.Visibility = Visibility.Visible;
}
if (Settings.Automation.IsAutoSaveStrokesAtClear && if (Settings.Automation.IsAutoSaveStrokesAtClear &&
inkCanvas.Strokes.Count > Settings.Automation.MinimumAutomationStrokeNumber) SaveScreenShot(true); inkCanvas.Strokes.Count > Settings.Automation.MinimumAutomationStrokeNumber) SaveScreenShot(true);
@@ -729,7 +742,7 @@ namespace Ink_Canvas {
private void SymbolIconRand_MouseUp(object sender, MouseButtonEventArgs e) { private void SymbolIconRand_MouseUp(object sender, MouseButtonEventArgs e) {
LeftUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed; LeftUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
RightUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed; RightUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
if (lastBorderMouseDownObject != sender) return; //if (lastBorderMouseDownObject != sender) return;
AnimationsHelper.HideWithSlideAndFade(BorderTools); AnimationsHelper.HideWithSlideAndFade(BorderTools);
AnimationsHelper.HideWithSlideAndFade(BoardBorderTools); AnimationsHelper.HideWithSlideAndFade(BoardBorderTools);
@@ -797,7 +810,7 @@ namespace Ink_Canvas {
private void SymbolIconRandOne_MouseUp(object sender, MouseButtonEventArgs e) { private void SymbolIconRandOne_MouseUp(object sender, MouseButtonEventArgs e) {
LeftUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed; LeftUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
RightUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed; RightUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
if (lastBorderMouseDownObject != sender) return; //if (lastBorderMouseDownObject != sender) return;
AnimationsHelper.HideWithSlideAndFade(BorderTools); AnimationsHelper.HideWithSlideAndFade(BorderTools);
AnimationsHelper.HideWithSlideAndFade(BoardBorderTools); AnimationsHelper.HideWithSlideAndFade(BoardBorderTools);
@@ -806,7 +819,7 @@ namespace Ink_Canvas {
} }
private void GridInkReplayButton_MouseUp(object sender, MouseButtonEventArgs e) { private void GridInkReplayButton_MouseUp(object sender, MouseButtonEventArgs e) {
if (lastBorderMouseDownObject != sender) return; //if (lastBorderMouseDownObject != sender) return;
AnimationsHelper.HideWithSlideAndFade(BorderTools); AnimationsHelper.HideWithSlideAndFade(BorderTools);
AnimationsHelper.HideWithSlideAndFade(BoardBorderTools); AnimationsHelper.HideWithSlideAndFade(BoardBorderTools);
+153 -63
View File
@@ -1,4 +1,4 @@
using Ink_Canvas.Helpers; using Ink_Canvas.Helpers;
using iNKORE.UI.WPF.Modern; using iNKORE.UI.WPF.Modern;
using Microsoft.Office.Core; using Microsoft.Office.Core;
using Microsoft.Office.Interop.PowerPoint; using Microsoft.Office.Interop.PowerPoint;
@@ -29,9 +29,16 @@ namespace Ink_Canvas {
private void BtnCheckPPT_Click(object sender, RoutedEventArgs e) { private void BtnCheckPPT_Click(object sender, RoutedEventArgs e) {
try { try {
pptApplication = pptApplication = null;
(Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("kwpp.Application"); // 优先检测WPSwpp.Application),获取不到再尝试PowerPoint
try {
pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("wpp.Application");
} catch { }
if (pptApplication == null) {
try {
pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("PowerPoint.Application");
} catch { }
}
if (pptApplication != null) { if (pptApplication != null) {
//获得演示文稿对象 //获得演示文稿对象
presentation = pptApplication.ActivePresentation; presentation = pptApplication.ActivePresentation;
@@ -45,16 +52,14 @@ namespace Ink_Canvas {
memoryStreams = new MemoryStream[slidescount + 2]; memoryStreams = new MemoryStream[slidescount + 2];
// 获得当前选中的幻灯片 // 获得当前选中的幻灯片
try { try {
// 在普通视图下这种方式可以获得当前选中的幻灯片对象
// 然而在阅读模式下,这种方式会出现异常
slide = slides[pptApplication.ActiveWindow.Selection.SlideRange.SlideNumber]; slide = slides[pptApplication.ActiveWindow.Selection.SlideRange.SlideNumber];
} }
catch { catch {
// 在阅读模式下出现异常时,通过下面的方式来获得当前选中的幻灯片对象 try {
slide = pptApplication.SlideShowWindows[1].View.Slide; slide = pptApplication.SlideShowWindows[1].View.Slide;
} catch { }
} }
} }
if (pptApplication == null) throw new Exception(); if (pptApplication == null) throw new Exception();
StackPanelPPTControls.Visibility = Visibility.Visible; StackPanelPPTControls.Visibility = Visibility.Visible;
} }
@@ -96,20 +101,67 @@ namespace Ink_Canvas {
if (!isPowerPointInitialized) if (!isPowerPointInitialized)
{ {
// 检查 WPS 进程(如果不支持则返回) // 检查 WPS 进程(如果不支持则返回)
var processes = Process.GetProcessesByName("wpp"); var wpsProcesses = Process.GetProcessesByName("wpp");
if (processes.Length > 0 && !isWPSSupportOn) if (wpsProcesses.Length > 0 && !isWPSSupportOn)
return; return;
// 尝试获取已运行的 PowerPoint 实例
try try
{ {
pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("PowerPoint.Application"); if (isWPSSupportOn && wpsProcesses.Length > 0)
{
// 优先获取WPS实例
try
{
pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("wpp.Application");
}
catch (COMException)
{
// WPS未启动或未注册
pptApplication = null;
}
}
if (pptApplication == null)
{
// 获取PowerPoint实例
try
{
pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("PowerPoint.Application");
}
catch (COMException)
{
pptApplication = null;
}
}
} }
catch (COMException) catch (Exception)
{ {
// 如果没有找到运行中的实例,则创建新实例 pptApplication = null;
pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Activator.CreateInstance( }
Marshal.GetTypeFromCLSID(new Guid("91493441-5A91-11CF-8700-00AA0060263B")));
// 如果没有找到运行中的实例,则创建新实例
if (pptApplication == null)
{
try
{
pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Activator.CreateInstance(
Marshal.GetTypeFromCLSID(new Guid("91493441-5A91-11CF-8700-00AA0060263B")));
}
catch
{
// 如果WPS支持开启,尝试创建WPS实例
if (isWPSSupportOn)
{
try
{
pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Activator.CreateInstance(
Type.GetTypeFromProgID("wpp.Application"));
}
catch
{
pptApplication = null;
}
}
}
} }
isPowerPointInitialized = true; isPowerPointInitialized = true;
return; return;
@@ -117,7 +169,9 @@ namespace Ink_Canvas {
// 检查 PowerPoint 进程是否还在 // 检查 PowerPoint 进程是否还在
var pptProcesses = Process.GetProcessesByName("POWERPNT"); var pptProcesses = Process.GetProcessesByName("POWERPNT");
if (pptProcesses.Length == 0) var wpsProcessesCheck = Process.GetProcessesByName("wpp");
bool isWpsMode = isWPSSupportOn && wpsProcessesCheck.Length > 0;
if ((isWpsMode && wpsProcessesCheck.Length == 0) || (!isWpsMode && pptProcesses.Length == 0))
{ {
// 进程已关闭,清理对象 // 进程已关闭,清理对象
if (pptApplication != null) if (pptApplication != null)
@@ -137,17 +191,27 @@ namespace Ink_Canvas {
} }
slide = null; slide = null;
isPowerPointInitialized = false; isPowerPointInitialized = false;
// 这里可以选择自动重启 PowerPoint 或等待用户操作 // 这里可以选择自动重启 PowerPoint 或 WPS 或等待用户操作
// 例如自动重启
try try
{ {
pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Activator.CreateInstance( if (isWpsMode)
Marshal.GetTypeFromCLSID(new Guid("91493441-5A91-11CF-8700-00AA0060263B"))); {
// 自动重启WPS
Process.Start("wpp.exe");
Thread.Sleep(2000); // 等待WPS启动
pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Activator.CreateInstance(
Type.GetTypeFromProgID("wpp.Application"));
}
else
{
pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Activator.CreateInstance(
Marshal.GetTypeFromCLSID(new Guid("91493441-5A91-11CF-8700-00AA0060263B")));
}
isPowerPointInitialized = true; isPowerPointInitialized = true;
} }
catch (Exception ex) catch (Exception ex)
{ {
LogHelper.WriteLogToFile("PowerPoint 守护重启失败: " + ex.ToString(), LogHelper.LogType.Error); LogHelper.WriteLogToFile("PowerPoint/WPS 守护重启失败: " + ex.ToString(), LogHelper.LogType.Error);
} }
return; return;
} }
@@ -178,7 +242,12 @@ namespace Ink_Canvas {
} }
catch { catch {
// 在阅读模式下出现异常时,通过下面的方式来获得当前选中的幻灯片对象 // 在阅读模式下出现异常时,通过下面的方式来获得当前选中的幻灯片对象
slide = pptApplication.SlideShowWindows[1].View.Slide; try {
slide = pptApplication.SlideShowWindows[1].View.Slide;
}
catch (Exception ex) {
LogHelper.WriteLogToFile("Failed to get current slide: " + ex.ToString(), LogHelper.LogType.Error);
}
} }
pptApplication.PresentationOpen += PptApplication_PresentationOpen; pptApplication.PresentationOpen += PptApplication_PresentationOpen;
@@ -186,6 +255,22 @@ namespace Ink_Canvas {
pptApplication.SlideShowBegin += PptApplication_SlideShowBegin; pptApplication.SlideShowBegin += PptApplication_SlideShowBegin;
pptApplication.SlideShowNextSlide += PptApplication_SlideShowNextSlide; pptApplication.SlideShowNextSlide += PptApplication_SlideShowNextSlide;
pptApplication.SlideShowEnd += PptApplication_SlideShowEnd; pptApplication.SlideShowEnd += PptApplication_SlideShowEnd;
// 检查是否在放映模式
Application.Current.Dispatcher.Invoke(() => {
try {
if (pptApplication.SlideShowWindows.Count >= 1) {
BtnPPTSlideShow.Visibility = Visibility.Collapsed;
BtnPPTSlideShowEnd.Visibility = Visibility.Visible;
UpdatePPTBtnDisplaySettingsStatus();
} else {
BtnPPTSlideShow.Visibility = Visibility.Visible;
BtnPPTSlideShowEnd.Visibility = Visibility.Collapsed;
}
} catch (Exception ex) {
LogHelper.WriteLogToFile("Failed to update button visibility: " + ex.ToString(), LogHelper.LogType.Error);
}
});
} }
if (pptApplication == null) return; if (pptApplication == null) return;
@@ -307,25 +392,7 @@ namespace Ink_Canvas {
pptApplication.SlideShowEnd -= PptApplication_SlideShowEnd; pptApplication.SlideShowEnd -= PptApplication_SlideShowEnd;
// 释放COM对象 // 释放COM对象
if (slide != null) { ReleasePptResources();
Marshal.ReleaseComObject(slide);
slide = null;
}
if (slides != null) {
Marshal.ReleaseComObject(slides);
slides = null;
}
if (presentation != null) {
Marshal.ReleaseComObject(presentation);
presentation = null;
}
if (pptApplication != null) {
Marshal.ReleaseComObject(pptApplication);
pptApplication = null;
}
timerCheckPPT.Start(); timerCheckPPT.Start();
@@ -475,7 +542,12 @@ namespace Ink_Canvas {
private void UpdatePPTBtnDisplaySettingsStatus() { private void UpdatePPTBtnDisplaySettingsStatus() {
try { try {
if (!Settings.PowerPointSettings.ShowPPTButton || BtnPPTSlideShowEnd.Visibility != Visibility.Visible) // 检查是否应该显示PPT按钮
bool shouldShowButtons = Settings.PowerPointSettings.ShowPPTButton &&
(BtnPPTSlideShowEnd.Visibility == Visibility.Visible ||
(pptApplication != null && pptApplication.SlideShowWindows.Count > 0));
if (!shouldShowButtons)
{ {
LeftBottomPanelForPPTNavigation.Visibility = Visibility.Collapsed; LeftBottomPanelForPPTNavigation.Visibility = Visibility.Collapsed;
RightBottomPanelForPPTNavigation.Visibility = Visibility.Collapsed; RightBottomPanelForPPTNavigation.Visibility = Visibility.Collapsed;
@@ -507,6 +579,13 @@ namespace Ink_Canvas {
private async void PptApplication_SlideShowBegin(SlideShowWindow Wn) { private async void PptApplication_SlideShowBegin(SlideShowWindow Wn) {
try { try {
// 修改加载路径到软件根目录下的Saves文件夹
var folderPath = Path.Combine(
AppDomain.CurrentDomain.BaseDirectory,
"Saves",
@"Auto Saved - Presentations\" + Wn.Presentation.Name + "_" + Wn.Presentation.Slides.Count
);
if (Settings.Automation.IsAutoFoldInPPTSlideShow && !isFloatingBarFolded) if (Settings.Automation.IsAutoFoldInPPTSlideShow && !isFloatingBarFolded)
await FoldFloatingBar(new object()); await FoldFloatingBar(new object());
else if (isFloatingBarFolded) await UnFoldFloatingBar(new object()); else if (isFloatingBarFolded) await UnFoldFloatingBar(new object());
@@ -545,13 +624,9 @@ namespace Ink_Canvas {
//检查是否有已有墨迹,并加载 //检查是否有已有墨迹,并加载
if (Settings.PowerPointSettings.IsAutoSaveStrokesInPowerPoint) if (Settings.PowerPointSettings.IsAutoSaveStrokesInPowerPoint)
if (Directory.Exists(Settings.Automation.AutoSavedStrokesLocation + if (Directory.Exists(folderPath)) {
@"\Auto Saved - Presentations\" + Wn.Presentation.Name + "_" +
Wn.Presentation.Slides.Count)) {
LogHelper.WriteLogToFile("Found saved strokes", LogHelper.LogType.Trace); LogHelper.WriteLogToFile("Found saved strokes", LogHelper.LogType.Trace);
var files = new DirectoryInfo(Settings.Automation.AutoSavedStrokesLocation + var files = new DirectoryInfo(folderPath).GetFiles();
@"\Auto Saved - Presentations\" + Wn.Presentation.Name + "_" +
Wn.Presentation.Slides.Count).GetFiles();
var count = 0; var count = 0;
foreach (var file in files) foreach (var file in files)
if (file.Name != "Position") { if (file.Name != "Position") {
@@ -633,9 +708,16 @@ namespace Ink_Canvas {
isEnteredSlideShowEndEvent = true; isEnteredSlideShowEndEvent = true;
if (Settings.PowerPointSettings.IsAutoSaveStrokesInPowerPoint) { if (Settings.PowerPointSettings.IsAutoSaveStrokesInPowerPoint) {
var folderPath = Settings.Automation.AutoSavedStrokesLocation + @"\Auto Saved - Presentations\" + // 修改保存路径到软件根目录下的Saves文件夹
Pres.Name + "_" + Pres.Slides.Count; var folderPath = Path.Combine(
AppDomain.CurrentDomain.BaseDirectory,
"Saves",
@"Auto Saved - Presentations\" + Pres.Name + "_" + Pres.Slides.Count
);
// 确保目录存在
if (!Directory.Exists(folderPath)) Directory.CreateDirectory(folderPath); if (!Directory.Exists(folderPath)) Directory.CreateDirectory(folderPath);
try { try {
File.WriteAllText(folderPath + "/Position", previousSlideID.ToString()); File.WriteAllText(folderPath + "/Position", previousSlideID.ToString());
} }
@@ -650,21 +732,16 @@ namespace Ink_Canvas {
var srcBuf = new byte[memoryStreams[i].Length]; var srcBuf = new byte[memoryStreams[i].Length];
memoryStreams[i].Position = 0; memoryStreams[i].Position = 0;
var byteLength = memoryStreams[i].Read(srcBuf, 0, srcBuf.Length); var byteLength = memoryStreams[i].Read(srcBuf, 0, srcBuf.Length);
File.WriteAllBytes(folderPath + @"\" + i.ToString("0000") + ".icstk", srcBuf); // 使用Path.Combine构建文件路径
LogHelper.WriteLogToFile(string.Format( File.WriteAllBytes(Path.Combine(folderPath, i.ToString("0000") + ".icstk"), srcBuf);
"Saved strokes for Slide {0}, size={1}, byteLength={2}", i.ToString(),
memoryStreams[i].Length, byteLength));
} else { } else {
if (File.Exists(folderPath + @"\" + i.ToString("0000") + ".icstk")) var filePath = Path.Combine(folderPath, i.ToString("0000") + ".icstk");
File.Delete(folderPath + @"\" + i.ToString("0000") + ".icstk"); if (File.Exists(filePath)) File.Delete(filePath);
} }
} }
catch (Exception ex) { catch (Exception ex) {
LogHelper.WriteLogToFile( // 新增错误处理逻辑
$"Failed to save strokes for Slide {i}\n{ex.ToString()}", LogHelper.WriteLogToFile($"保存第{i}页墨迹失败: {ex.Message}", LogHelper.LogType.Error);
LogHelper.LogType.Error);
if (File.Exists(folderPath + @"\" + i.ToString("0000") + ".icstk"))
File.Delete(folderPath + @"\" + i.ToString("0000") + ".icstk");
} }
} }
@@ -1136,5 +1213,18 @@ namespace Ink_Canvas {
LogHelper.WriteLogToFile(ex.ToString(), LogHelper.LogType.Error); LogHelper.WriteLogToFile(ex.ToString(), LogHelper.LogType.Error);
} }
} }
// 统一释放PPT相关COM对象,防止内存泄漏
private void ReleasePptResources()
{
try { if (slide != null) Marshal.ReleaseComObject(slide); } catch { }
slide = null;
try { if (slides != null) Marshal.ReleaseComObject(slides); } catch { }
slides = null;
try { if (presentation != null) Marshal.ReleaseComObject(presentation); } catch { }
presentation = null;
try { if (pptApplication != null) Marshal.ReleaseComObject(pptApplication); } catch { }
pptApplication = null;
}
} }
} }
+44 -10
View File
@@ -1,4 +1,4 @@
using Ink_Canvas.Helpers; using Ink_Canvas.Helpers;
using Microsoft.Win32; using Microsoft.Win32;
using System; using System;
using System.IO; using System.IO;
@@ -20,21 +20,56 @@ namespace Ink_Canvas {
SaveInkCanvasStrokes(true, true); SaveInkCanvasStrokes(true, true);
} }
private void SaveInkCanvasStrokes(bool newNotice = true, bool saveByUser = false) { private void SaveInkCanvasStrokes(Boolean newNotice, Boolean saveByUser) {
try { try {
var savePath = Settings.Automation.AutoSavedStrokesLocation // 修改保存路径为软件根目录下的Saves文件夹
+ (saveByUser ? @"\User Saved - " : @"\Auto Saved - ") string appDirectory = AppDomain.CurrentDomain.BaseDirectory;
+ (currentMode == 0 ? "Annotation Strokes" : "BlackBoard Strokes"); if (string.IsNullOrEmpty(appDirectory))
{
appDirectory = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
}
string savePath = Path.Combine(appDirectory, "Saves",
(saveByUser ? @"User Saved - " : @"Auto Saved - ") +
(currentMode == 0 ? "Annotation Strokes" : "BlackBoard Strokes"));
if (!Directory.Exists(savePath)) Directory.CreateDirectory(savePath); if (!Directory.Exists(savePath)) Directory.CreateDirectory(savePath);
string savePathWithName; string savePathWithName;
if (currentMode != 0) // 黑板模式下 if (currentMode != 0) // 黑板模式下
savePathWithName = savePath + @"\" + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss-fff") + " Page-" + savePathWithName = savePath + @"\" + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss-fff") + " Page-" +
CurrentWhiteboardIndex + " StrokesCount-" + inkCanvas.Strokes.Count + ".icstk"; CurrentWhiteboardIndex + " StrokesCount-" + inkCanvas.Strokes.Count + ".icstk";
else else
//savePathWithName = savePath + @"\" + DateTime.Now.ToString("u").Replace(':', '-') + ".icstk";
savePathWithName = savePath + @"\" + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss-fff") + ".icstk"; savePathWithName = savePath + @"\" + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss-fff") + ".icstk";
var fs = new FileStream(savePathWithName, FileMode.Create);
inkCanvas.Strokes.Save(fs); try {
using (FileStream fs = new FileStream(savePathWithName, FileMode.Create)) {
inkCanvas.Strokes.Save(fs);
}
}
catch (Exception ex) when (ex is UnauthorizedAccessException || ex is DirectoryNotFoundException) {
// 修改异常处理中的备用路径为软件根目录下的Saves文件夹
string fallbackPath = Path.Combine(appDirectory, "Saves");
Directory.CreateDirectory(fallbackPath);
string fileName = Path.GetFileNameWithoutExtension(savePathWithName) + "_retry.icstk";
string newPath = Path.Combine(fallbackPath, fileName);
try {
using (FileStream fs = new FileStream(newPath, FileMode.Create)) {
inkCanvas.Strokes.Save(fs);
savePathWithName = newPath;
}
}
catch (Exception fallbackEx) {
ShowNotification($"墨迹保存失败: {fallbackEx.Message}");
return;
}
}
catch (Exception ex) {
ShowNotification($"墨迹保存失败: {ex.Message}");
return;
}
if (newNotice) ShowNotification("墨迹成功保存至 " + savePathWithName); if (newNotice) ShowNotification("墨迹成功保存至 " + savePathWithName);
} }
catch (Exception ex) { catch (Exception ex) {
@@ -49,7 +84,6 @@ namespace Ink_Canvas {
AnimationsHelper.HideWithSlideAndFade(BoardBorderTools); AnimationsHelper.HideWithSlideAndFade(BoardBorderTools);
var openFileDialog = new OpenFileDialog(); var openFileDialog = new OpenFileDialog();
openFileDialog.InitialDirectory = Settings.Automation.AutoSavedStrokesLocation;
openFileDialog.Title = "打开墨迹文件"; openFileDialog.Title = "打开墨迹文件";
openFileDialog.Filter = "Ink Canvas Strokes File (*.icstk)|*.icstk"; openFileDialog.Filter = "Ink Canvas Strokes File (*.icstk)|*.icstk";
if (openFileDialog.ShowDialog() != true) return; if (openFileDialog.ShowDialog() != true) return;
+66 -17
View File
@@ -1,6 +1,7 @@
using System; using System;
using System.Drawing.Imaging; using System.Drawing.Imaging;
using System.IO; using System.IO;
using System.Runtime.InteropServices;
using System.Windows; using System.Windows;
namespace Ink_Canvas { namespace Ink_Canvas {
@@ -35,42 +36,90 @@ namespace Ink_Canvas {
using (var memoryGraphics = System.Drawing.Graphics.FromImage(bitmap)) { using (var memoryGraphics = System.Drawing.Graphics.FromImage(bitmap)) {
memoryGraphics.CopyFromScreen(rc.X, rc.Y, 0, 0, rc.Size, System.Drawing.CopyPixelOperation.SourceCopy); memoryGraphics.CopyFromScreen(rc.X, rc.Y, 0, 0, rc.Size, System.Drawing.CopyPixelOperation.SourceCopy);
// 确保目录存在
var directory = Path.GetDirectoryName(savePath); var directory = Path.GetDirectoryName(savePath);
if (!Directory.Exists(directory)) { if (!Directory.Exists(directory)) {
Directory.CreateDirectory(directory); Directory.CreateDirectory(directory);
} }
bitmap.Save(savePath, ImageFormat.Png); try {
// 新增双重目录检查
Directory.CreateDirectory(directory); // 防止多线程场景下的竞争条件
bitmap.Save(savePath, ImageFormat.Png);
}
catch (Exception ex) when (ex is IOException ||
ex is UnauthorizedAccessException ||
ex is ExternalException) { // 新增GDI+异常捕获
// 改进备用路径处理
var docPath = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
"Auto Saved - Screenshots",
DateTime.Now.ToString("yyyyMMdd"),
Path.GetFileNameWithoutExtension(savePath) + "_retry.png"); // 添加重试后缀
try {
var docDir = Path.GetDirectoryName(docPath);
Directory.CreateDirectory(docDir);
bitmap.Save(docPath, ImageFormat.Png);
savePath = docPath;
}
catch (Exception fallbackEx) {
// 最终错误处理
if (!isHideNotification) {
ShowNotification($"截图保存失败: {fallbackEx.Message}");
}
return;
}
}
} }
if (!isHideNotification) { if (!isHideNotification) {
ShowNotification($"截图成功保存至 {savePath}"); try {
ShowNotification($"截图成功保存至 {savePath}");
}
catch {
// 防止通知系统自身异常导致崩溃
}
} }
} }
// 获取日期文件夹路径 // 获取日期文件夹路径
private string GetDateFolderPath(string fileName) { private string GetDateFolderPath(string fileName) {
if (string.IsNullOrWhiteSpace(fileName)) { var basePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Saves");
fileName = DateTime.Now.ToString("HH-mm-ss"); var dateFolder = DateTime.Now.ToString("yyyyMMdd");
var fullPath = Path.Combine(basePath, "Auto Saved - Screenshots", dateFolder);
try {
if (!Directory.Exists(fullPath)) {
Directory.CreateDirectory(fullPath);
}
}
catch (Exception ex) when
(ex is IOException ||
ex is UnauthorizedAccessException)
{
// 如果创建失败则使用软件根目录作为最终备选
basePath = AppDomain.CurrentDomain.BaseDirectory;
fullPath = Path.Combine(basePath, "Auto Saved - Screenshots", dateFolder);
Directory.CreateDirectory(fullPath);
} }
var basePath = Settings.Automation.AutoSavedStrokesLocation; return Path.Combine(fullPath, $"{fileName}.png");
var dateFolder = DateTime.Now.ToString("yyyyMMdd");
return Path.Combine(
basePath,
"Auto Saved - Screenshots",
dateFolder,
$"{fileName}.png");
} }
// 获取默认文件夹路径
private string GetDefaultFolderPath() { private string GetDefaultFolderPath() {
var basePath = Settings.Automation.AutoSavedStrokesLocation; var basePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Saves");
var screenshotsFolder = Path.Combine(basePath, "Auto Saved - Screenshots"); var screenshotsFolder = Path.Combine(basePath, "Auto Saved - Screenshots");
if (!Directory.Exists(screenshotsFolder)) { try {
if (!Directory.Exists(screenshotsFolder)) {
Directory.CreateDirectory(screenshotsFolder);
}
}
catch (Exception) {
// 如果创建失败则使用文档目录
basePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
screenshotsFolder = Path.Combine(basePath, "Auto Saved - Screenshots");
Directory.CreateDirectory(screenshotsFolder); Directory.CreateDirectory(screenshotsFolder);
} }
+5 -2
View File
@@ -1,4 +1,4 @@
using Ink_Canvas.Helpers; using Ink_Canvas.Helpers;
using Newtonsoft.Json; using Newtonsoft.Json;
using System; using System;
using System.Diagnostics; using System.Diagnostics;
@@ -1218,7 +1218,10 @@ namespace Ink_Canvas {
} }
private void SetAutoSavedStrokesLocationToDiskDButton_Click(object sender, RoutedEventArgs e) { private void SetAutoSavedStrokesLocationToDiskDButton_Click(object sender, RoutedEventArgs e) {
AutoSavedStrokesLocation.Text = @"D:\Ink Canvas"; // 修改默认路径为软件根目录下的 Saves 文件夹
string appDirectory = AppDomain.CurrentDomain.BaseDirectory;
string savesPath = System.IO.Path.Combine(appDirectory, "Saves");
AutoSavedStrokesLocation.Text = savesPath;
} }
private void SetAutoSavedStrokesLocationToDocumentFolderButton_Click(object sender, RoutedEventArgs e) { private void SetAutoSavedStrokesLocationToDocumentFolderButton_Click(object sender, RoutedEventArgs e) {
+5 -5
View File
@@ -122,8 +122,8 @@ namespace Ink_Canvas {
} }
if (Settings.Automation.IsAutoKillIDT) { if (Settings.Automation.IsAutoKillIDT) {
var processes = Process.GetProcessesByName("智绘教"); var processes = Process.GetProcessesByName("Inkeys");
if (processes.Length > 0) arg += " /IM \"智绘教.exe\""; if (processes.Length > 0) arg += " /IM \"Inkeys.exe\"";
} }
if (Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation) { if (Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation) {
@@ -162,9 +162,9 @@ namespace Ink_Canvas {
}); });
} }
if (arg.Contains("智绘教")) { if (arg.Contains("Inkeys")) {
Dispatcher.Invoke(() => { Dispatcher.Invoke(() => {
ShowNotification("“智绘教”已自动关闭"); ShowNotification("“智绘教Inkeys”已自动关闭");
}); });
} }
@@ -178,7 +178,7 @@ namespace Ink_Canvas {
if (arg.Contains("DesktopAnnotation")) if (arg.Contains("DesktopAnnotation"))
{ {
Dispatcher.Invoke(() => { Dispatcher.Invoke(() => {
ShowNotification("“DesktopAnnotation”已自动关闭"); ShowNotification("“希沃桌面2.0 桌面批注”已自动关闭");
}); });
} }
} }
Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 KiB

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 KiB

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 422 KiB

After

Width:  |  Height:  |  Size: 190 KiB

+8
View File
@@ -101,6 +101,14 @@
<TextBlock Text="开抽" Foreground="White" FontSize="32" Margin="-1,-1,4,0" VerticalAlignment="Center"/> <TextBlock Text="开抽" Foreground="White" FontSize="32" Margin="-1,-1,4,0" VerticalAlignment="Center"/>
</ui:SimpleStackPanel> </ui:SimpleStackPanel>
</Border> </Border>
<Border x:Name="BorderBtnIslandCaller" MouseUp="BorderBtnIslandCaller_MouseUp" Background="#00B894" Height="50" Width="200" CornerRadius="25" Margin="0,16,0,0">
<ui:SimpleStackPanel Margin="3,0" Spacing="12" Orientation="Horizontal" HorizontalAlignment="Center">
<Viewbox Margin="0,10">
<ui:SymbolIcon Symbol="Globe" Foreground="White"/>
</Viewbox>
<TextBlock Text="ClassIsland点名" Foreground="White" FontSize="18" Margin="-1,-1,4,0" VerticalAlignment="Center"/>
</ui:SimpleStackPanel>
</Border>
</ui:SimpleStackPanel> </ui:SimpleStackPanel>
</Grid> </Grid>
<Border UseLayoutRounding="True" Canvas.Bottom="8" Canvas.Right="8" x:Name="BorderBtnHelp" MouseUp="BorderBtnHelp_MouseUp" Background="#FBFBFD" Grid.Column="1" Margin="10,10,60,10" Height="40" VerticalAlignment="Bottom" HorizontalAlignment="Right" CornerRadius="20"> <Border UseLayoutRounding="True" Canvas.Bottom="8" Canvas.Right="8" x:Name="BorderBtnHelp" MouseUp="BorderBtnHelp_MouseUp" Background="#FBFBFD" Grid.Column="1" Margin="10,10,60,10" Height="40" VerticalAlignment="Bottom" HorizontalAlignment="Right" CornerRadius="20">
+30
View File
@@ -8,6 +8,7 @@ using System.Linq;
using System.Threading; using System.Threading;
using System.Windows; using System.Windows;
using System.Windows.Input; using System.Windows.Input;
using MessageBox = iNKORE.UI.WPF.Modern.Controls.MessageBox;
namespace Ink_Canvas { namespace Ink_Canvas {
/// <summary> /// <summary>
@@ -205,5 +206,34 @@ namespace Ink_Canvas {
private void BtnClose_MouseUp(object sender, MouseButtonEventArgs e) { private void BtnClose_MouseUp(object sender, MouseButtonEventArgs e) {
Close(); Close();
} }
// 将 isIslandCallerFirstClick 设为静态字段,实现全局记录
private static bool isIslandCallerFirstClick = true;
private void BorderBtnIslandCaller_MouseUp(object sender, MouseButtonEventArgs e)
{
if (isIslandCallerFirstClick)
{
MessageBox.Show(
"首次使用ClassIsland点名功能,请确保已安装ClassIsland和Island caller插件。\n" +
"如未安装,请前往官网下载并安装后再使用。如果安装请再次点击此按钮。",
"提示", MessageBoxButton.OK, MessageBoxImage.Information);
isIslandCallerFirstClick = false;
return;
}
try
{
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo
{
FileName = "classisland://plugins/IslandCaller/Run",
UseShellExecute = true
});
}
catch (Exception ex)
{
MessageBox.Show("无法调用外部点名:" + ex.Message);
}
}
} }
} }
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\App.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "1E327457A4903FFFEEF5296A4E0B282BD14654E1" #pragma checksum "..\..\..\App.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "2F83C72861203F56E137DC704561E979347ABF79"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
+1 -1
View File
@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\App.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "1E327457A4903FFFEEF5296A4E0B282BD14654E1" #pragma checksum "..\..\..\App.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "2F83C72861203F56E137DC704561E979347ABF79"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
@@ -1,6 +1,6 @@
is_global = true is_global = true
build_property.RootNamespace = Ink_Canvas build_property.RootNamespace = Ink_Canvas
build_property.ProjectDir = C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\ build_property.ProjectDir = E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\
build_property.EnableComHosting = build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop = build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false build_property.CsWinRTUseWindowsUIXamlProjections = false
@@ -1 +1 @@
621490517f28a1c123f212159cb484999ff22ac079960d4950ab91a40d3a79c8 873bc7f43d75c362dfce6f35fc846d3cca2ed3663fa31937587b7276c474772f
@@ -277,3 +277,117 @@ C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\I
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.GeneratedMSBuildEditorConfig.editorconfig C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.CoreCompileInputs.cache C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\InkCanva.0F57E7D5.Up2Date C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\InkCanva.0F57E7D5.Up2Date
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe.config
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\ICSharpCode.AvalonEdit.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\Hardcodet.NotifyIcon.Wpf.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.Controls.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\MdXaml.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\MdXaml.Plugins.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\Microsoft.Office.Interop.PowerPoint.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\Office.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\Newtonsoft.Json.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\NHotkey.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\NHotkey.Wpf.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\OSVersionExt.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\System.ValueTuple.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\IACore.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\IALoader.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\bin\Debug\net472\IAWinFX.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.AssemblyReference.cache
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Interop.IWshRuntimeLibrary.dll
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.ResolveComReference.cache
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Resources\DrawShapeImageDictionary.baml
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Resources\IconImageDictionary.baml
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Resources\SeewoImageDictionary.baml
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Resources\Styles\Dark.baml
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Resources\Styles\Light.baml
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\MainWindow.g.cs
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.g.cs
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\CycleProcessBar.g.cs
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\HasNewUpdateWindow.g.cs
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\NamesInputWindow.g.cs
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\OperatingGuideWindow.g.cs
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\RandWindow.g.cs
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\YesOrNoNotificationWindow.g.cs
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\App.g.cs
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\GeneratedInternalTypeHelper.g.cs
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.cache
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.lref
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\App.baml
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\MainWindow.baml
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.baml
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\CycleProcessBar.baml
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\HasNewUpdateWindow.baml
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\NamesInputWindow.baml
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\OperatingGuideWindow.baml
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\RandWindow.baml
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\YesOrNoNotificationWindow.baml
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.g.resources
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\Ink_Canvas.Properties.Resources.resources
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.GenerateResource.cache
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.GeneratedMSBuildEditorConfig.editorconfig
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.CoreCompileInputs.cache
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.sourcelink.json
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanva.0F57E7D5.Up2Date
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.exe
D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.exe.config
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe.config
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\ICSharpCode.AvalonEdit.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\Hardcodet.NotifyIcon.Wpf.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.Controls.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\MdXaml.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\MdXaml.Plugins.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\Microsoft.Office.Interop.PowerPoint.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\Office.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\Newtonsoft.Json.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\NHotkey.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\NHotkey.Wpf.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\OSVersionExt.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\System.ValueTuple.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\IACore.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\IALoader.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\bin\Debug\net472\IAWinFX.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.AssemblyReference.cache
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Interop.IWshRuntimeLibrary.dll
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.ResolveComReference.cache
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Resources\DrawShapeImageDictionary.baml
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Resources\IconImageDictionary.baml
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Resources\SeewoImageDictionary.baml
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Resources\Styles\Dark.baml
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Resources\Styles\Light.baml
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\MainWindow.g.cs
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.g.cs
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\CycleProcessBar.g.cs
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\HasNewUpdateWindow.g.cs
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\NamesInputWindow.g.cs
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\OperatingGuideWindow.g.cs
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\RandWindow.g.cs
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\YesOrNoNotificationWindow.g.cs
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\App.g.cs
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\GeneratedInternalTypeHelper.g.cs
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.cache
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.lref
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\App.baml
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\MainWindow.baml
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.baml
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\CycleProcessBar.baml
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\HasNewUpdateWindow.baml
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\NamesInputWindow.baml
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\OperatingGuideWindow.baml
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\RandWindow.baml
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Windows\YesOrNoNotificationWindow.baml
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.g.resources
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\Ink_Canvas.Properties.Resources.resources
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.GenerateResource.cache
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.GeneratedMSBuildEditorConfig.editorconfig
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.CoreCompileInputs.cache
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.sourcelink.json
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanva.0F57E7D5.Up2Date
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.exe
E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\InkCanvasForClass.exe.config
@@ -4,16 +4,16 @@
winexe winexe
C# C#
.cs .cs
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\ E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\obj\Debug\net472\
Ink_Canvas Ink_Canvas
none none
false false
TRACE;DEBUG;NETFRAMEWORK;NET472;;NET30_OR_GREATER;NET35_OR_GREATER;NET40_OR_GREATER;NET45_OR_GREATER;NET451_OR_GREATER;NET452_OR_GREATER;NET46_OR_GREATER;NET461_OR_GREATER;NET462_OR_GREATER;NET47_OR_GREATER;NET471_OR_GREATER;NET472_OR_GREATER TRACE;DEBUG;NETFRAMEWORK;NET472;;NET30_OR_GREATER;NET35_OR_GREATER;NET40_OR_GREATER;NET45_OR_GREATER;NET451_OR_GREATER;NET452_OR_GREATER;NET46_OR_GREATER;NET461_OR_GREATER;NET462_OR_GREATER;NET47_OR_GREATER;NET471_OR_GREATER;NET472_OR_GREATER
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\App.xaml E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\App.xaml
13173459795 13173459795
56-1167124909 56-1167124909
46-1657329493 46-47806484
MainWindow.xaml;Resources\DrawShapeImageDictionary.xaml;Resources\IconImageDictionary.xaml;Resources\SeewoImageDictionary.xaml;Resources\Styles\Dark.xaml;Resources\Styles\Light.xaml;Windows\CountdownTimerWindow.xaml;Windows\CycleProcessBar.xaml;Windows\HasNewUpdateWindow.xaml;Windows\NamesInputWindow.xaml;Windows\OperatingGuideWindow.xaml;Windows\RandWindow.xaml;Windows\YesOrNoNotificationWindow.xaml; MainWindow.xaml;Resources\DrawShapeImageDictionary.xaml;Resources\IconImageDictionary.xaml;Resources\SeewoImageDictionary.xaml;Resources\Styles\Dark.xaml;Resources\Styles\Light.xaml;Windows\CountdownTimerWindow.xaml;Windows\CycleProcessBar.xaml;Windows\HasNewUpdateWindow.xaml;Windows\NamesInputWindow.xaml;Windows\OperatingGuideWindow.xaml;Windows\RandWindow.xaml;Windows\YesOrNoNotificationWindow.xaml;
False False
@@ -1,11 +1,11 @@
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\App.xaml;; FE:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\App.xaml;;
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\MainWindow.xaml;; FE:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\MainWindow.xaml;;
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\Windows\CountdownTimerWindow.xaml;; FE:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\Windows\CountdownTimerWindow.xaml;;
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\Windows\CycleProcessBar.xaml;; FE:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\Windows\CycleProcessBar.xaml;;
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\Windows\HasNewUpdateWindow.xaml;; FE:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\Windows\HasNewUpdateWindow.xaml;;
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\Windows\NamesInputWindow.xaml;; FE:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\Windows\NamesInputWindow.xaml;;
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\Windows\OperatingGuideWindow.xaml;; FE:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\Windows\OperatingGuideWindow.xaml;;
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\Windows\RandWindow.xaml;; FE:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\Windows\RandWindow.xaml;;
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\Windows\YesOrNoNotificationWindow.xaml;; FE:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\Windows\YesOrNoNotificationWindow.xaml;;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Windows\CountdownTimerWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "6F0867438FA51D9A7933293AB63597EAB4BB202C" #pragma checksum "..\..\..\..\Windows\CountdownTimerWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "85F57BA392C75B7B6E1F2FA532105D03A2028A0E"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Windows\CountdownTimerWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "6F0867438FA51D9A7933293AB63597EAB4BB202C" #pragma checksum "..\..\..\..\Windows\CountdownTimerWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "85F57BA392C75B7B6E1F2FA532105D03A2028A0E"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Windows\CycleProcessBar.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "BA19DDDB9767BC7236A1FD27CF7870819D17BDF6" #pragma checksum "..\..\..\..\Windows\CycleProcessBar.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "D130C26D74445B5E09CDAA42FEF4734A6D257250"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Windows\CycleProcessBar.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "BA19DDDB9767BC7236A1FD27CF7870819D17BDF6" #pragma checksum "..\..\..\..\Windows\CycleProcessBar.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "D130C26D74445B5E09CDAA42FEF4734A6D257250"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Windows\HasNewUpdateWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "F175FD074CC52DB5BA92934B39B401618F102C52" #pragma checksum "..\..\..\..\Windows\HasNewUpdateWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "237DE391CCBF9084C9908BFD5D5B61E01AF3B610"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Windows\HasNewUpdateWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "F175FD074CC52DB5BA92934B39B401618F102C52" #pragma checksum "..\..\..\..\Windows\HasNewUpdateWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "237DE391CCBF9084C9908BFD5D5B61E01AF3B610"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Windows\NamesInputWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "94598B72FAE3B046C627B4D990E7014E73354BFE" #pragma checksum "..\..\..\..\Windows\NamesInputWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "9FEEA82AF23EB1521F5089E2975D1B2389373FF8"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Windows\NamesInputWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "94598B72FAE3B046C627B4D990E7014E73354BFE" #pragma checksum "..\..\..\..\Windows\NamesInputWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "9FEEA82AF23EB1521F5089E2975D1B2389373FF8"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Windows\OperatingGuideWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "064624323549B036812125DBE67746F73944DF2D" #pragma checksum "..\..\..\..\Windows\OperatingGuideWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "66D9A0A5E55C9B504151A1C0723C930C97D705DA"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Windows\OperatingGuideWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "064624323549B036812125DBE67746F73944DF2D" #pragma checksum "..\..\..\..\Windows\OperatingGuideWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "66D9A0A5E55C9B504151A1C0723C930C97D705DA"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Windows\RandWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "FD9A73B991636613BD6C7B0522D40D93923F9AAC" #pragma checksum "..\..\..\..\Windows\RandWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "A29F1514A9DC6332F074303F230464CD5C24A898"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
@@ -155,9 +155,9 @@ namespace Ink_Canvas {
#line hidden #line hidden
#line 106 "..\..\..\..\Windows\RandWindow.xaml" #line 104 "..\..\..\..\Windows\RandWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Border BorderBtnHelp; internal System.Windows.Controls.Border BorderBtnIslandCaller;
#line default #line default
#line hidden #line hidden
@@ -165,13 +165,21 @@ namespace Ink_Canvas {
#line 114 "..\..\..\..\Windows\RandWindow.xaml" #line 114 "..\..\..\..\Windows\RandWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Border BorderBtnHelp;
#line default
#line hidden
#line 122 "..\..\..\..\Windows\RandWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBlock TextBlockPeopleCount; internal System.Windows.Controls.TextBlock TextBlockPeopleCount;
#line default #line default
#line hidden #line hidden
#line 117 "..\..\..\..\Windows\RandWindow.xaml" #line 125 "..\..\..\..\Windows\RandWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Border BtnClose; internal System.Windows.Controls.Border BtnClose;
@@ -271,21 +279,30 @@ namespace Ink_Canvas {
this.SymbolIconStart = ((iNKORE.UI.WPF.Modern.Controls.SymbolIcon)(target)); this.SymbolIconStart = ((iNKORE.UI.WPF.Modern.Controls.SymbolIcon)(target));
return; return;
case 14: case 14:
this.BorderBtnHelp = ((System.Windows.Controls.Border)(target)); this.BorderBtnIslandCaller = ((System.Windows.Controls.Border)(target));
#line 106 "..\..\..\..\Windows\RandWindow.xaml" #line 104 "..\..\..\..\Windows\RandWindow.xaml"
this.BorderBtnHelp.MouseUp += new System.Windows.Input.MouseButtonEventHandler(this.BorderBtnHelp_MouseUp); this.BorderBtnIslandCaller.MouseUp += new System.Windows.Input.MouseButtonEventHandler(this.BorderBtnIslandCaller_MouseUp);
#line default #line default
#line hidden #line hidden
return; return;
case 15: case 15:
this.TextBlockPeopleCount = ((System.Windows.Controls.TextBlock)(target)); this.BorderBtnHelp = ((System.Windows.Controls.Border)(target));
#line 114 "..\..\..\..\Windows\RandWindow.xaml"
this.BorderBtnHelp.MouseUp += new System.Windows.Input.MouseButtonEventHandler(this.BorderBtnHelp_MouseUp);
#line default
#line hidden
return; return;
case 16: case 16:
this.TextBlockPeopleCount = ((System.Windows.Controls.TextBlock)(target));
return;
case 17:
this.BtnClose = ((System.Windows.Controls.Border)(target)); this.BtnClose = ((System.Windows.Controls.Border)(target));
#line 117 "..\..\..\..\Windows\RandWindow.xaml" #line 125 "..\..\..\..\Windows\RandWindow.xaml"
this.BtnClose.MouseUp += new System.Windows.Input.MouseButtonEventHandler(this.BtnClose_MouseUp); this.BtnClose.MouseUp += new System.Windows.Input.MouseButtonEventHandler(this.BtnClose_MouseUp);
#line default #line default
@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Windows\RandWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "FD9A73B991636613BD6C7B0522D40D93923F9AAC" #pragma checksum "..\..\..\..\Windows\RandWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "A29F1514A9DC6332F074303F230464CD5C24A898"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
@@ -155,9 +155,9 @@ namespace Ink_Canvas {
#line hidden #line hidden
#line 106 "..\..\..\..\Windows\RandWindow.xaml" #line 104 "..\..\..\..\Windows\RandWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Border BorderBtnHelp; internal System.Windows.Controls.Border BorderBtnIslandCaller;
#line default #line default
#line hidden #line hidden
@@ -165,13 +165,21 @@ namespace Ink_Canvas {
#line 114 "..\..\..\..\Windows\RandWindow.xaml" #line 114 "..\..\..\..\Windows\RandWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Border BorderBtnHelp;
#line default
#line hidden
#line 122 "..\..\..\..\Windows\RandWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBlock TextBlockPeopleCount; internal System.Windows.Controls.TextBlock TextBlockPeopleCount;
#line default #line default
#line hidden #line hidden
#line 117 "..\..\..\..\Windows\RandWindow.xaml" #line 125 "..\..\..\..\Windows\RandWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Border BtnClose; internal System.Windows.Controls.Border BtnClose;
@@ -271,21 +279,30 @@ namespace Ink_Canvas {
this.SymbolIconStart = ((iNKORE.UI.WPF.Modern.Controls.SymbolIcon)(target)); this.SymbolIconStart = ((iNKORE.UI.WPF.Modern.Controls.SymbolIcon)(target));
return; return;
case 14: case 14:
this.BorderBtnHelp = ((System.Windows.Controls.Border)(target)); this.BorderBtnIslandCaller = ((System.Windows.Controls.Border)(target));
#line 106 "..\..\..\..\Windows\RandWindow.xaml" #line 104 "..\..\..\..\Windows\RandWindow.xaml"
this.BorderBtnHelp.MouseUp += new System.Windows.Input.MouseButtonEventHandler(this.BorderBtnHelp_MouseUp); this.BorderBtnIslandCaller.MouseUp += new System.Windows.Input.MouseButtonEventHandler(this.BorderBtnIslandCaller_MouseUp);
#line default #line default
#line hidden #line hidden
return; return;
case 15: case 15:
this.TextBlockPeopleCount = ((System.Windows.Controls.TextBlock)(target)); this.BorderBtnHelp = ((System.Windows.Controls.Border)(target));
#line 114 "..\..\..\..\Windows\RandWindow.xaml"
this.BorderBtnHelp.MouseUp += new System.Windows.Input.MouseButtonEventHandler(this.BorderBtnHelp_MouseUp);
#line default
#line hidden
return; return;
case 16: case 16:
this.TextBlockPeopleCount = ((System.Windows.Controls.TextBlock)(target));
return;
case 17:
this.BtnClose = ((System.Windows.Controls.Border)(target)); this.BtnClose = ((System.Windows.Controls.Border)(target));
#line 117 "..\..\..\..\Windows\RandWindow.xaml" #line 125 "..\..\..\..\Windows\RandWindow.xaml"
this.BtnClose.MouseUp += new System.Windows.Input.MouseButtonEventHandler(this.BtnClose_MouseUp); this.BtnClose.MouseUp += new System.Windows.Input.MouseButtonEventHandler(this.BtnClose_MouseUp);
#line default #line default
@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Windows\YesOrNoNotificationWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "6FDB33A27E5749FEDB5D64193EE52D5001933FAD" #pragma checksum "..\..\..\..\Windows\YesOrNoNotificationWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "40DC779A3AC6B5F7F1D1CDBB7E7D7EEFD90FE7BB"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Windows\YesOrNoNotificationWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "6FDB33A27E5749FEDB5D64193EE52D5001933FAD" #pragma checksum "..\..\..\..\Windows\YesOrNoNotificationWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "40DC779A3AC6B5F7F1D1CDBB7E7D7EEFD90FE7BB"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
@@ -1,20 +1,20 @@
{ {
"format": 1, "format": 1,
"restore": { "restore": {
"C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.4.1\\Ink Canvas\\InkCanvasForClass.csproj": {} "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj": {}
}, },
"projects": { "projects": {
"C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.4.1\\Ink Canvas\\InkCanvasForClass.csproj": { "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj": {
"version": "5.0.4", "version": "5.0.4",
"restore": { "restore": {
"projectUniqueName": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.4.1\\Ink Canvas\\InkCanvasForClass.csproj", "projectUniqueName": "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj",
"projectName": "InkCanvasForClass", "projectName": "InkCanvasForClass",
"projectPath": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.4.1\\Ink Canvas\\InkCanvasForClass.csproj", "projectPath": "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj",
"packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\", "packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\",
"outputPath": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.4.1\\Ink Canvas\\obj\\", "outputPath": "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\obj\\",
"projectStyle": "PackageReference", "projectStyle": "PackageReference",
"fallbackFolders": [ "fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" "E:\\Program Files\\Microsoft Visual Studio\\Shared\\NuGetPackages"
], ],
"configFilePaths": [ "configFilePaths": [
"C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config", "C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config",
@@ -5,12 +5,12 @@
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool> <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile> <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot> <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Administrator\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders> <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Administrator\.nuget\packages\;E:\Program Files\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle> <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.13.2</NuGetToolVersion> <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.13.2</NuGetToolVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\Administrator\.nuget\packages\" /> <SourceRoot Include="C:\Users\Administrator\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" /> <SourceRoot Include="E:\Program Files\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup> </ItemGroup>
</Project> </Project>
+5 -5
View File
@@ -1120,19 +1120,19 @@
}, },
"packageFolders": { "packageFolders": {
"C:\\Users\\Administrator\\.nuget\\packages\\": {}, "C:\\Users\\Administrator\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} "E:\\Program Files\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
}, },
"project": { "project": {
"version": "5.0.4", "version": "5.0.4",
"restore": { "restore": {
"projectUniqueName": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.4.1\\Ink Canvas\\InkCanvasForClass.csproj", "projectUniqueName": "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj",
"projectName": "InkCanvasForClass", "projectName": "InkCanvasForClass",
"projectPath": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.4.1\\Ink Canvas\\InkCanvasForClass.csproj", "projectPath": "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj",
"packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\", "packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\",
"outputPath": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.4.1\\Ink Canvas\\obj\\", "outputPath": "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\obj\\",
"projectStyle": "PackageReference", "projectStyle": "PackageReference",
"fallbackFolders": [ "fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" "E:\\Program Files\\Microsoft Visual Studio\\Shared\\NuGetPackages"
], ],
"configFilePaths": [ "configFilePaths": [
"C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config", "C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config",
+2 -2
View File
@@ -1,8 +1,8 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "ESQHpEaZNeg=", "dgSpecHash": "asCIyEp3RNM=",
"success": true, "success": true,
"projectFilePath": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.4.1\\Ink Canvas\\InkCanvasForClass.csproj", "projectFilePath": "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [
"C:\\Users\\Administrator\\.nuget\\packages\\avalonedit\\6.3.0.90\\avalonedit.6.3.0.90.nupkg.sha512", "C:\\Users\\Administrator\\.nuget\\packages\\avalonedit\\6.3.0.90\\avalonedit.6.3.0.90.nupkg.sha512",
"C:\\Users\\Administrator\\.nuget\\packages\\hardcodet.notifyicon.wpf\\1.1.0\\hardcodet.notifyicon.wpf.1.1.0.nupkg.sha512", "C:\\Users\\Administrator\\.nuget\\packages\\hardcodet.notifyicon.wpf\\1.1.0\\hardcodet.notifyicon.wpf.1.1.0.nupkg.sha512",
+4 -4
View File
@@ -73,16 +73,16 @@ ICC可以支持WPS,但目前无法同时支持MSOffice和WPS。若要启用WPS
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ChangSakura"><img <td align="center" valign="top" width="14.28%"><a href="https://github.com/ChangSakura"><img
src="https://avatars.githubusercontent.com/u/90511645?v=4" width="100px;" src="https://avatars.githubusercontent.com/u/90511645?v=4" width="100px;"
alt="HelloWRC" /><br /><sub><b>ChangSakura</b></sub></a></td> alt="ChangSakura" /><br /><sub><b>ChangSakura</b></sub></a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/WXRIW"><img <td align="center" valign="top" width="14.28%"><a href="https://github.com/WXRIW"><img
src="https://avatars.githubusercontent.com/u/62491584?v=4" width="100px;" src="https://avatars.githubusercontent.com/u/62491584?v=4" width="100px;"
alt="Doctor-yoi" /><br /><sub><b>WXRIW</b></sub></a></td> alt="XY Wang" /><br /><sub><b>WXRIW</b></sub></a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Alan-CRL"><img <td align="center" valign="top" width="14.28%"><a href="https://github.com/Alan-CRL"><img
src="https://avatars.githubusercontent.com/u/92425617?v=4" width="100px;" src="https://avatars.githubusercontent.com/u/92425617?v=4" width="100px;"
alt="姜胤" /><br /><sub><b>Alan-CRL</b></sub></a></td> alt="Alan-CRL" /><br /><sub><b>Alan-CRL</b></sub></a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/dubi906w"><img <td align="center" valign="top" width="14.28%"><a href="https://github.com/dubi906w"><img
src="https://avatars.githubusercontent.com/u/185512682?v=4" width="100px;" src="https://avatars.githubusercontent.com/u/185512682?v=4" width="100px;"
alt="逗比" /><br /><sub><b>Alan-CRL</b></sub></a></td> alt="逗比" /><br /><sub><b>Dubi906w</b></sub></a></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 KiB

After

Width:  |  Height:  |  Size: 151 KiB