Compare commits
125 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 869c8ce31b | |||
| 0b7b55224f | |||
| 2a23be44f2 | |||
| fa0cbb4d3f | |||
| 38bc4decf6 | |||
| b5ec6e0d79 | |||
| 82486c707d | |||
| 5ff437bed5 | |||
| 2f7e0b85c0 | |||
| c9548af008 | |||
| b20e4a041f | |||
| 87f64ccc81 | |||
| 58028ea95c | |||
| 35fa062cc3 | |||
| 9de6555519 | |||
| a9baf47823 | |||
| a9b64d2899 | |||
| 4d9fa754e8 | |||
| 862ac27212 | |||
| 4ada8b05e7 | |||
| d250e83df9 | |||
| 8e8f4256ac | |||
| d6502251e1 | |||
| c3159c61ee | |||
| 0e5b31a8e4 | |||
| ad18277223 | |||
| 661fd21626 | |||
| d8fd231476 | |||
| 8d611a22a2 | |||
| 6cb8b188ec | |||
| d1d0e00959 | |||
| cbc317795e | |||
| ab88c34abc | |||
| 18b0556f7a | |||
| 7bea23005d | |||
| b46cbcc15f | |||
| 71ad15ce25 | |||
| 5a3101a182 | |||
| eba888082a | |||
| 43beffeadd | |||
| 3645906067 | |||
| 0206273200 | |||
| 0a50d15da0 | |||
| 85d98c0b70 | |||
| 6a02bf01d5 | |||
| 9b1d9c117e | |||
| f2b32b40a4 | |||
| 457e9e5e74 | |||
| 4b4aaae001 | |||
| 11369aedf8 | |||
| cc38e8f148 | |||
| b0c6bbb8f7 | |||
| 5399c9c7b9 | |||
| fe58c5c4d1 | |||
| a42aa75308 | |||
| a3b61d984d | |||
| c2f2f3a9af | |||
| 4a626ec245 | |||
| 57317be766 | |||
| 6abd433f13 | |||
| ad049c517d | |||
| 24332f819e | |||
| 1d3b573425 | |||
| 8e7a377f66 | |||
| dbe0818f35 | |||
| 5a4a97d4be | |||
| 25f83e1df0 | |||
| 5d90d2d1b6 | |||
| f14bf6da16 | |||
| 680779530e | |||
| 7d6358c771 | |||
| 6255b0926a | |||
| ace6f57e3f | |||
| 6a7951e8a4 | |||
| 234277fee8 | |||
| f5bac0bed9 | |||
| 05a5e1a0f1 | |||
| 2ed034ba27 | |||
| af3663d20e | |||
| 247d15e0c8 | |||
| f87a2a12ad | |||
| e6ddefce3b | |||
| fd3a7d44eb | |||
| 65e2f42e61 | |||
| 96ecb44249 | |||
| 37f1d93f68 | |||
| 09753e5db2 | |||
| dd4363c53b | |||
| 468236cc60 | |||
| 08edcd3256 | |||
| 684a89b99e | |||
| ab9427b224 | |||
| 35070a76fb | |||
| 6d36496ff8 | |||
| e76b464488 | |||
| c4287828b7 | |||
| 61e94b870f | |||
| 2e2c33bcf2 | |||
| 2fa27d6f83 | |||
| 24a90a3a99 | |||
| eb7fc8fa1e | |||
| 110ce59450 | |||
| b48d8538b6 | |||
| ce9fce8364 | |||
| 1ca05579be | |||
| ea75929c4a | |||
| 521a7307d5 | |||
| fd31d3b444 | |||
| 1ca827b5eb | |||
| b55fbe3dd3 | |||
| fdf406e24e | |||
| 274ee8db40 | |||
| 272139496b | |||
| 39a0aab613 | |||
| 6f4d92a32c | |||
| 21541b80d3 | |||
| 551ea2ecfb | |||
| c5a3f8e7bc | |||
| 7cea38f49d | |||
| 6474014bf5 | |||
| a4e95285d8 | |||
| 28c378c305 | |||
| dd4fe17e2f | |||
| 502246bc0c | |||
| 7282fce664 |
@@ -2,9 +2,9 @@ name: .NET Build
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ master ]
|
branches: [ main,beta ]
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ master ]
|
branches: [ main ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -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>
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"Version": 1,
|
|
||||||
"WorkspaceRootPath": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE main\\ICC-CE\\",
|
|
||||||
"Documents": [],
|
|
||||||
"DocumentGroupContainers": [
|
|
||||||
{
|
|
||||||
"Orientation": 0,
|
|
||||||
"VerticalTabListWidth": 256,
|
|
||||||
"DocumentGroups": []
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,29 +1,37 @@
|
|||||||
{
|
{
|
||||||
"Version": 1,
|
"Version": 1,
|
||||||
"WorkspaceRootPath": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\",
|
"WorkspaceRootPath": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\",
|
||||||
"Documents": [
|
"Documents": [
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\privacy.txt||{8B382828-6202-11D1-8870-0000F87579D2}",
|
"AbsoluteMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|c:\\users\\administrator\\desktop\\icc ce\\icc ce 1.2.5\\ink canvas\\mainwindow_cs\\mw_floatingbaricons.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|solutionrelative:ink canvas\\mainwindow_cs\\mw_floatingbaricons.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\README.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}",
|
||||||
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:README.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\privacy.txt||{8B382828-6202-11D1-8870-0000F87579D2}",
|
||||||
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:privacy.txt||{8B382828-6202-11D1-8870-0000F87579D2}"
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:privacy.txt||{8B382828-6202-11D1-8870-0000F87579D2}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Manual.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}",
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Manual.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}",
|
||||||
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Manual.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}"
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Manual.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\LICENSE||{8B382828-6202-11D1-8870-0000F87579D2}",
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\LICENSE||{8B382828-6202-11D1-8870-0000F87579D2}",
|
||||||
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:LICENSE||{8B382828-6202-11D1-8870-0000F87579D2}"
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:LICENSE||{8B382828-6202-11D1-8870-0000F87579D2}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Ink Canvas.sln.DotSettings.user||{FA3CD31E-987B-443A-9B81-186104E8DAC1}",
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas.sln.DotSettings.user||{FA3CD31E-987B-443A-9B81-186104E8DAC1}",
|
||||||
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Ink Canvas.sln.DotSettings.user||{FA3CD31E-987B-443A-9B81-186104E8DAC1}"
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Ink Canvas.sln.DotSettings.user||{FA3CD31E-987B-443A-9B81-186104E8DAC1}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|c:\\users\\administrator\\desktop\\icc ce\\icc ce 1.2.3\\ink canvas\\mainwindow_cs\\mw_ppt.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
"AbsoluteMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|c:\\users\\administrator\\desktop\\icc ce\\icc ce 1.2.5\\ink canvas\\mainwindow_cs\\mw_ppt.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
"RelativeMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|solutionrelative:ink canvas\\mainwindow_cs\\mw_ppt.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
"RelativeMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|solutionrelative:ink canvas\\mainwindow_cs\\mw_ppt.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|c:\\users\\administrator\\desktop\\icc ce\\icc ce 1.2.3\\ink canvas\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
|
"AbsoluteMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|c:\\users\\administrator\\desktop\\icc ce\\icc ce 1.2.5\\ink canvas\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
|
||||||
"RelativeMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|solutionrelative:ink canvas\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
|
"RelativeMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|solutionrelative:ink canvas\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -40,22 +48,48 @@
|
|||||||
"DocumentGroups": [
|
"DocumentGroups": [
|
||||||
{
|
{
|
||||||
"DockedWidth": 200,
|
"DockedWidth": 200,
|
||||||
"SelectedChildIndex": 4,
|
"SelectedChildIndex": 0,
|
||||||
"Children": [
|
"Children": [
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 5,
|
"DocumentIndex": 0,
|
||||||
|
"Title": "MW_FloatingBarIcons.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas\\MainWindow_cs\\MW_FloatingBarIcons.cs",
|
||||||
|
"RelativeDocumentMoniker": "Ink Canvas\\MainWindow_cs\\MW_FloatingBarIcons.cs",
|
||||||
|
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas\\MainWindow_cs\\MW_FloatingBarIcons.cs*",
|
||||||
|
"RelativeToolTip": "Ink Canvas\\MainWindow_cs\\MW_FloatingBarIcons.cs*",
|
||||||
|
"ViewState": "AgIAAFgHAAAAAAAAAAAgwGcHAAAIAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2025-05-31T10:49:24.719Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 1,
|
||||||
|
"Title": "README.md",
|
||||||
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\README.md",
|
||||||
|
"RelativeDocumentMoniker": "README.md",
|
||||||
|
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\README.md",
|
||||||
|
"RelativeToolTip": "README.md",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001818|",
|
||||||
|
"WhenOpened": "2025-05-31T10:48:22.883Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 7,
|
||||||
"Title": "MainWindow.xaml",
|
"Title": "MainWindow.xaml",
|
||||||
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Ink Canvas\\MainWindow.xaml",
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas\\MainWindow.xaml",
|
||||||
"RelativeDocumentMoniker": "Ink Canvas\\MainWindow.xaml",
|
"RelativeDocumentMoniker": "Ink Canvas\\MainWindow.xaml",
|
||||||
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Ink Canvas\\MainWindow.xaml",
|
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas\\MainWindow.xaml",
|
||||||
"RelativeToolTip": "Ink Canvas\\MainWindow.xaml",
|
"RelativeToolTip": "Ink Canvas\\MainWindow.xaml",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
|
||||||
"WhenOpened": "2025-05-24T13:22:56.715Z"
|
"WhenOpened": "2025-05-24T13:22:56.715Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 7,
|
"DocumentIndex": 9,
|
||||||
"Title": "Microsoft.Common.CurrentVersion.targets",
|
"Title": "Microsoft.Common.CurrentVersion.targets",
|
||||||
"DocumentMoniker": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
|
"DocumentMoniker": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
|
||||||
"RelativeDocumentMoniker": "..\\..\\..\\..\\..\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
|
"RelativeDocumentMoniker": "..\\..\\..\\..\\..\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
|
||||||
@@ -67,11 +101,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 4,
|
"DocumentIndex": 6,
|
||||||
"Title": "MW_PPT.cs",
|
"Title": "MW_PPT.cs",
|
||||||
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Ink Canvas\\MainWindow_cs\\MW_PPT.cs",
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas\\MainWindow_cs\\MW_PPT.cs",
|
||||||
"RelativeDocumentMoniker": "Ink Canvas\\MainWindow_cs\\MW_PPT.cs",
|
"RelativeDocumentMoniker": "Ink Canvas\\MainWindow_cs\\MW_PPT.cs",
|
||||||
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Ink Canvas\\MainWindow_cs\\MW_PPT.cs",
|
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas\\MainWindow_cs\\MW_PPT.cs",
|
||||||
"RelativeToolTip": "Ink Canvas\\MainWindow_cs\\MW_PPT.cs",
|
"RelativeToolTip": "Ink Canvas\\MainWindow_cs\\MW_PPT.cs",
|
||||||
"ViewState": "AgIAAFgAAAAAAAAAAAAUwHQAAAAAAAAAAAAAAA==",
|
"ViewState": "AgIAAFgAAAAAAAAAAAAUwHQAAAAAAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
@@ -79,7 +113,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 6,
|
"DocumentIndex": 8,
|
||||||
"Title": "README.md",
|
"Title": "README.md",
|
||||||
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\icc-0610.2.3\\README.md",
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\icc-0610.2.3\\README.md",
|
||||||
"RelativeDocumentMoniker": "..\\icc-0610.2.3\\README.md",
|
"RelativeDocumentMoniker": "..\\icc-0610.2.3\\README.md",
|
||||||
@@ -91,11 +125,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 0,
|
"DocumentIndex": 2,
|
||||||
"Title": "privacy.txt",
|
"Title": "privacy.txt",
|
||||||
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\privacy.txt",
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\privacy.txt",
|
||||||
"RelativeDocumentMoniker": "privacy.txt",
|
"RelativeDocumentMoniker": "privacy.txt",
|
||||||
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\privacy.txt",
|
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\privacy.txt",
|
||||||
"RelativeToolTip": "privacy.txt",
|
"RelativeToolTip": "privacy.txt",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003109|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003109|",
|
||||||
@@ -104,11 +138,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 1,
|
"DocumentIndex": 3,
|
||||||
"Title": "Manual.md",
|
"Title": "Manual.md",
|
||||||
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Manual.md",
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Manual.md",
|
||||||
"RelativeDocumentMoniker": "Manual.md",
|
"RelativeDocumentMoniker": "Manual.md",
|
||||||
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Manual.md",
|
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Manual.md",
|
||||||
"RelativeToolTip": "Manual.md",
|
"RelativeToolTip": "Manual.md",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001818|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001818|",
|
||||||
@@ -117,11 +151,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 2,
|
"DocumentIndex": 4,
|
||||||
"Title": "LICENSE",
|
"Title": "LICENSE",
|
||||||
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\LICENSE",
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\LICENSE",
|
||||||
"RelativeDocumentMoniker": "LICENSE",
|
"RelativeDocumentMoniker": "LICENSE",
|
||||||
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\LICENSE",
|
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\LICENSE",
|
||||||
"RelativeToolTip": "LICENSE",
|
"RelativeToolTip": "LICENSE",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
|
||||||
@@ -130,20 +164,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 3,
|
"DocumentIndex": 5,
|
||||||
"Title": "Ink Canvas.sln.DotSettings.user",
|
"Title": "Ink Canvas.sln.DotSettings.user",
|
||||||
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Ink Canvas.sln.DotSettings.user",
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas.sln.DotSettings.user",
|
||||||
"RelativeDocumentMoniker": "Ink Canvas.sln.DotSettings.user",
|
"RelativeDocumentMoniker": "Ink Canvas.sln.DotSettings.user",
|
||||||
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Ink Canvas.sln.DotSettings.user",
|
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas.sln.DotSettings.user",
|
||||||
"RelativeToolTip": "Ink Canvas.sln.DotSettings.user",
|
"RelativeToolTip": "Ink Canvas.sln.DotSettings.user",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003464|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003464|",
|
||||||
"WhenOpened": "2025-05-24T13:04:00.792Z",
|
"WhenOpened": "2025-05-24T13:04:00.792Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Bookmark",
|
|
||||||
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,29 +1,37 @@
|
|||||||
{
|
{
|
||||||
"Version": 1,
|
"Version": 1,
|
||||||
"WorkspaceRootPath": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\",
|
"WorkspaceRootPath": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\",
|
||||||
"Documents": [
|
"Documents": [
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\privacy.txt||{8B382828-6202-11D1-8870-0000F87579D2}",
|
"AbsoluteMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|c:\\users\\administrator\\desktop\\icc ce\\icc ce 1.2.5\\ink canvas\\mainwindow_cs\\mw_floatingbaricons.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|solutionrelative:ink canvas\\mainwindow_cs\\mw_floatingbaricons.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\README.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}",
|
||||||
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:README.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\privacy.txt||{8B382828-6202-11D1-8870-0000F87579D2}",
|
||||||
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:privacy.txt||{8B382828-6202-11D1-8870-0000F87579D2}"
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:privacy.txt||{8B382828-6202-11D1-8870-0000F87579D2}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Manual.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}",
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Manual.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}",
|
||||||
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Manual.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}"
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Manual.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\LICENSE||{8B382828-6202-11D1-8870-0000F87579D2}",
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\LICENSE||{8B382828-6202-11D1-8870-0000F87579D2}",
|
||||||
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:LICENSE||{8B382828-6202-11D1-8870-0000F87579D2}"
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:LICENSE||{8B382828-6202-11D1-8870-0000F87579D2}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Ink Canvas.sln.DotSettings.user||{FA3CD31E-987B-443A-9B81-186104E8DAC1}",
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas.sln.DotSettings.user||{FA3CD31E-987B-443A-9B81-186104E8DAC1}",
|
||||||
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Ink Canvas.sln.DotSettings.user||{FA3CD31E-987B-443A-9B81-186104E8DAC1}"
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Ink Canvas.sln.DotSettings.user||{FA3CD31E-987B-443A-9B81-186104E8DAC1}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|c:\\users\\administrator\\desktop\\icc ce\\icc ce 1.2.3\\ink canvas\\mainwindow_cs\\mw_ppt.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
"AbsoluteMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|c:\\users\\administrator\\desktop\\icc ce\\icc ce 1.2.5\\ink canvas\\mainwindow_cs\\mw_ppt.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
"RelativeMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|solutionrelative:ink canvas\\mainwindow_cs\\mw_ppt.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
"RelativeMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|solutionrelative:ink canvas\\mainwindow_cs\\mw_ppt.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|c:\\users\\administrator\\desktop\\icc ce\\icc ce 1.2.3\\ink canvas\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
|
"AbsoluteMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|c:\\users\\administrator\\desktop\\icc ce\\icc ce 1.2.5\\ink canvas\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
|
||||||
"RelativeMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|solutionrelative:ink canvas\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
|
"RelativeMoniker": "D:0:0:{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}|Ink Canvas\\InkCanvasForClass.csproj|solutionrelative:ink canvas\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -40,22 +48,48 @@
|
|||||||
"DocumentGroups": [
|
"DocumentGroups": [
|
||||||
{
|
{
|
||||||
"DockedWidth": 200,
|
"DockedWidth": 200,
|
||||||
"SelectedChildIndex": 4,
|
"SelectedChildIndex": 0,
|
||||||
"Children": [
|
"Children": [
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 5,
|
"DocumentIndex": 0,
|
||||||
|
"Title": "MW_FloatingBarIcons.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas\\MainWindow_cs\\MW_FloatingBarIcons.cs",
|
||||||
|
"RelativeDocumentMoniker": "Ink Canvas\\MainWindow_cs\\MW_FloatingBarIcons.cs",
|
||||||
|
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas\\MainWindow_cs\\MW_FloatingBarIcons.cs",
|
||||||
|
"RelativeToolTip": "Ink Canvas\\MainWindow_cs\\MW_FloatingBarIcons.cs",
|
||||||
|
"ViewState": "AgIAAFgHAAAAAAAAAAAgwGcHAAAIAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2025-05-31T10:49:24.719Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 1,
|
||||||
|
"Title": "README.md",
|
||||||
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\README.md",
|
||||||
|
"RelativeDocumentMoniker": "README.md",
|
||||||
|
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\README.md",
|
||||||
|
"RelativeToolTip": "README.md",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001818|",
|
||||||
|
"WhenOpened": "2025-05-31T10:48:22.883Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 7,
|
||||||
"Title": "MainWindow.xaml",
|
"Title": "MainWindow.xaml",
|
||||||
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Ink Canvas\\MainWindow.xaml",
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas\\MainWindow.xaml",
|
||||||
"RelativeDocumentMoniker": "Ink Canvas\\MainWindow.xaml",
|
"RelativeDocumentMoniker": "Ink Canvas\\MainWindow.xaml",
|
||||||
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Ink Canvas\\MainWindow.xaml",
|
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas\\MainWindow.xaml",
|
||||||
"RelativeToolTip": "Ink Canvas\\MainWindow.xaml",
|
"RelativeToolTip": "Ink Canvas\\MainWindow.xaml",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
|
||||||
"WhenOpened": "2025-05-24T13:22:56.715Z"
|
"WhenOpened": "2025-05-24T13:22:56.715Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 7,
|
"DocumentIndex": 9,
|
||||||
"Title": "Microsoft.Common.CurrentVersion.targets",
|
"Title": "Microsoft.Common.CurrentVersion.targets",
|
||||||
"DocumentMoniker": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
|
"DocumentMoniker": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
|
||||||
"RelativeDocumentMoniker": "..\\..\\..\\..\\..\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
|
"RelativeDocumentMoniker": "..\\..\\..\\..\\..\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
|
||||||
@@ -67,11 +101,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 4,
|
"DocumentIndex": 6,
|
||||||
"Title": "MW_PPT.cs",
|
"Title": "MW_PPT.cs",
|
||||||
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Ink Canvas\\MainWindow_cs\\MW_PPT.cs",
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas\\MainWindow_cs\\MW_PPT.cs",
|
||||||
"RelativeDocumentMoniker": "Ink Canvas\\MainWindow_cs\\MW_PPT.cs",
|
"RelativeDocumentMoniker": "Ink Canvas\\MainWindow_cs\\MW_PPT.cs",
|
||||||
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Ink Canvas\\MainWindow_cs\\MW_PPT.cs",
|
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas\\MainWindow_cs\\MW_PPT.cs",
|
||||||
"RelativeToolTip": "Ink Canvas\\MainWindow_cs\\MW_PPT.cs",
|
"RelativeToolTip": "Ink Canvas\\MainWindow_cs\\MW_PPT.cs",
|
||||||
"ViewState": "AgIAAFgAAAAAAAAAAAAUwHQAAAAAAAAAAAAAAA==",
|
"ViewState": "AgIAAFgAAAAAAAAAAAAUwHQAAAAAAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
@@ -79,7 +113,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 6,
|
"DocumentIndex": 8,
|
||||||
"Title": "README.md",
|
"Title": "README.md",
|
||||||
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\icc-0610.2.3\\README.md",
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\icc-0610.2.3\\README.md",
|
||||||
"RelativeDocumentMoniker": "..\\icc-0610.2.3\\README.md",
|
"RelativeDocumentMoniker": "..\\icc-0610.2.3\\README.md",
|
||||||
@@ -91,11 +125,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 0,
|
"DocumentIndex": 2,
|
||||||
"Title": "privacy.txt",
|
"Title": "privacy.txt",
|
||||||
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\privacy.txt",
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\privacy.txt",
|
||||||
"RelativeDocumentMoniker": "privacy.txt",
|
"RelativeDocumentMoniker": "privacy.txt",
|
||||||
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\privacy.txt",
|
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\privacy.txt",
|
||||||
"RelativeToolTip": "privacy.txt",
|
"RelativeToolTip": "privacy.txt",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003109|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003109|",
|
||||||
@@ -104,11 +138,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 1,
|
"DocumentIndex": 3,
|
||||||
"Title": "Manual.md",
|
"Title": "Manual.md",
|
||||||
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Manual.md",
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Manual.md",
|
||||||
"RelativeDocumentMoniker": "Manual.md",
|
"RelativeDocumentMoniker": "Manual.md",
|
||||||
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Manual.md",
|
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Manual.md",
|
||||||
"RelativeToolTip": "Manual.md",
|
"RelativeToolTip": "Manual.md",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001818|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001818|",
|
||||||
@@ -117,11 +151,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 2,
|
"DocumentIndex": 4,
|
||||||
"Title": "LICENSE",
|
"Title": "LICENSE",
|
||||||
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\LICENSE",
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\LICENSE",
|
||||||
"RelativeDocumentMoniker": "LICENSE",
|
"RelativeDocumentMoniker": "LICENSE",
|
||||||
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\LICENSE",
|
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\LICENSE",
|
||||||
"RelativeToolTip": "LICENSE",
|
"RelativeToolTip": "LICENSE",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
|
||||||
@@ -130,20 +164,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 3,
|
"DocumentIndex": 5,
|
||||||
"Title": "Ink Canvas.sln.DotSettings.user",
|
"Title": "Ink Canvas.sln.DotSettings.user",
|
||||||
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Ink Canvas.sln.DotSettings.user",
|
"DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas.sln.DotSettings.user",
|
||||||
"RelativeDocumentMoniker": "Ink Canvas.sln.DotSettings.user",
|
"RelativeDocumentMoniker": "Ink Canvas.sln.DotSettings.user",
|
||||||
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.3\\Ink Canvas.sln.DotSettings.user",
|
"ToolTip": "C:\\Users\\Administrator\\Desktop\\ICC CE\\ICC CE 1.2.5\\Ink Canvas.sln.DotSettings.user",
|
||||||
"RelativeToolTip": "Ink Canvas.sln.DotSettings.user",
|
"RelativeToolTip": "Ink Canvas.sln.DotSettings.user",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003464|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003464|",
|
||||||
"WhenOpened": "2025-05-24T13:04:00.792Z",
|
"WhenOpened": "2025-05-24T13:04:00.792Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Bookmark",
|
|
||||||
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
|||||||
5.0.1
|
1.4.7
|
||||||
@@ -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.
|
||||||
+703
-1
@@ -1,13 +1,20 @@
|
|||||||
using Hardcodet.Wpf.TaskbarNotification;
|
using Hardcodet.Wpf.TaskbarNotification;
|
||||||
using Ink_Canvas.Helpers;
|
using Ink_Canvas.Helpers;
|
||||||
using iNKORE.UI.WPF.Modern.Controls;
|
using iNKORE.UI.WPF.Modern.Controls;
|
||||||
using System;
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Threading;
|
||||||
|
using Microsoft.Win32;
|
||||||
|
using System.Security; // 添加SecurityException所需命名空间
|
||||||
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
|
using System.Windows.Threading;
|
||||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
|
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
|
||||||
using MessageBox = System.Windows.MessageBox;
|
using MessageBox = System.Windows.MessageBox;
|
||||||
using Window = System.Windows.Window;
|
using Window = System.Windows.Window;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Ink_Canvas
|
namespace Ink_Canvas
|
||||||
{
|
{
|
||||||
@@ -21,23 +28,50 @@ namespace Ink_Canvas
|
|||||||
public static string[] StartArgs = null;
|
public static string[] StartArgs = null;
|
||||||
public static string RootPath = Environment.GetEnvironmentVariable("APPDATA") + "\\Ink Canvas\\";
|
public static string RootPath = Environment.GetEnvironmentVariable("APPDATA") + "\\Ink Canvas\\";
|
||||||
|
|
||||||
|
// 新增:保存看门狗进程对象
|
||||||
|
private static Process watchdogProcess = null;
|
||||||
|
// 新增:标记是否为软件内主动退出
|
||||||
|
public static bool IsAppExitByUser = false;
|
||||||
|
// 新增:退出信号文件路径
|
||||||
|
private static string watchdogExitSignalFile = Path.Combine(Path.GetTempPath(), "icc_watchdog_exit_" + System.Diagnostics.Process.GetCurrentProcess().Id + ".flag");
|
||||||
|
|
||||||
public App()
|
public App()
|
||||||
{
|
{
|
||||||
this.Startup += new StartupEventHandler(App_Startup);
|
this.Startup += new StartupEventHandler(App_Startup);
|
||||||
this.DispatcherUnhandledException += App_DispatcherUnhandledException;
|
this.DispatcherUnhandledException += App_DispatcherUnhandledException;
|
||||||
|
StartHeartbeatMonitor();
|
||||||
|
StartWatchdogIfNeeded();
|
||||||
|
this.Exit += App_Exit; // 注册退出事件
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 增加字段保存崩溃后操作设置
|
||||||
|
public static CrashActionType CrashAction = CrashActionType.SilentRestart;
|
||||||
|
|
||||||
private void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
|
private void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
|
||||||
{
|
{
|
||||||
Ink_Canvas.MainWindow.ShowNewMessage("抱歉,出现未预期的异常,可能导致 InkCanvasForClass 运行不稳定。\n建议保存墨迹后重启应用。", true);
|
Ink_Canvas.MainWindow.ShowNewMessage("抱歉,出现未预期的异常,可能导致 InkCanvasForClass 运行不稳定。\n建议保存墨迹后重启应用。", true);
|
||||||
LogHelper.NewLog(e.Exception.ToString());
|
LogHelper.NewLog(e.Exception.ToString());
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
|
|
||||||
|
// 修改:仅当非用户主动退出时才触发自动重启
|
||||||
|
if (CrashAction == CrashActionType.SilentRestart && !IsAppExitByUser)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string exePath = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
|
||||||
|
System.Diagnostics.Process.Start(exePath);
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
Environment.Exit(1);
|
||||||
|
}
|
||||||
|
// CrashActionType.NoAction 时不做处理
|
||||||
}
|
}
|
||||||
|
|
||||||
private TaskbarIcon _taskbar;
|
private TaskbarIcon _taskbar;
|
||||||
|
|
||||||
void App_Startup(object sender, StartupEventArgs e)
|
void App_Startup(object sender, StartupEventArgs e)
|
||||||
{
|
{
|
||||||
|
RunWatchdogIfNeeded();
|
||||||
/*if (!StoreHelper.IsStoreApp) */RootPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
|
/*if (!StoreHelper.IsStoreApp) */RootPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
|
||||||
|
|
||||||
LogHelper.NewLog(string.Format("Ink Canvas Starting (Version: {0})", Assembly.GetExecutingAssembly().GetName().Version.ToString()));
|
LogHelper.NewLog(string.Format("Ink Canvas Starting (Version: {0})", Assembly.GetExecutingAssembly().GetName().Version.ToString()));
|
||||||
@@ -56,6 +90,127 @@ namespace Ink_Canvas
|
|||||||
_taskbar = (TaskbarIcon)FindResource("TaskbarTrayIcon");
|
_taskbar = (TaskbarIcon)FindResource("TaskbarTrayIcon");
|
||||||
|
|
||||||
StartArgs = e.Args;
|
StartArgs = e.Args;
|
||||||
|
|
||||||
|
// 新增:Office注册表检测
|
||||||
|
try
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile("开始Office注册表检测");
|
||||||
|
|
||||||
|
// 检查Office安装
|
||||||
|
if (!IsOfficeInstalled())
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile("未检测到Office安装", LogHelper.LogType.Warning);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 尝试获取所有可能的Office版本路径
|
||||||
|
var officeVersions = GetOfficeVersions();
|
||||||
|
if (officeVersions.Count == 0)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile("未找到任何Office版本", LogHelper.LogType.Warning);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var version in officeVersions)
|
||||||
|
{
|
||||||
|
string regPath = $"Software\\Microsoft\\Office\\{version}\\Common\\Security";
|
||||||
|
LogHelper.WriteLogToFile($"正在处理Office版本 {version}, 注册表路径: {regPath}");
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using (Microsoft.Win32.RegistryKey baseKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(regPath))
|
||||||
|
{
|
||||||
|
if (baseKey == null)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"注册表路径不存在: {regPath}", LogHelper.LogType.Warning);
|
||||||
|
// 尝试创建路径
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using (Microsoft.Win32.RegistryKey createKey = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(regPath, true))
|
||||||
|
{
|
||||||
|
if (createKey != null)
|
||||||
|
{
|
||||||
|
createKey.SetValue("DisableProtectedView", 1, Microsoft.Win32.RegistryValueKind.DWord);
|
||||||
|
LogHelper.WriteLogToFile($"创建并设置注册表路径: {regPath}", LogHelper.LogType.Info);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception createEx)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"创建注册表路径失败: {createEx.Message}", LogHelper.LogType.Error);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 备份路径更改为软件根目录下的saves/RegistryBackups文件夹
|
||||||
|
string backupPath = Path.Combine(RootPath, "saves", "RegistryBackups");
|
||||||
|
LogHelper.WriteLogToFile($"备份路径: {backupPath}");
|
||||||
|
|
||||||
|
if (!Directory.Exists(backupPath))
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory(backupPath);
|
||||||
|
LogHelper.WriteLogToFile($"创建备份目录: {backupPath}");
|
||||||
|
}
|
||||||
|
|
||||||
|
string backupFile = Path.Combine(backupPath, $"SecurityBackup_{version}_{DateTime.Now:yyyyMMddHHmmss}.reg");
|
||||||
|
LogHelper.WriteLogToFile($"创建备份文件: {backupFile}");
|
||||||
|
|
||||||
|
// 使用UTF8编码写入注册表文件
|
||||||
|
using (StreamWriter sw = new StreamWriter(backupFile, false, System.Text.Encoding.UTF8))
|
||||||
|
{
|
||||||
|
sw.WriteLine("Windows Registry Editor Version 5.00\n");
|
||||||
|
sw.WriteLine();
|
||||||
|
sw.WriteLine($"[{Microsoft.Win32.Registry.CurrentUser.Name}\\{regPath}]");
|
||||||
|
|
||||||
|
foreach (string valueName in baseKey.GetValueNames())
|
||||||
|
{
|
||||||
|
object value = baseKey.GetValue(valueName);
|
||||||
|
sw.WriteLine($"\"{valueName}\"=dword:{((int)value):x8}");
|
||||||
|
LogHelper.WriteLogToFile($"备份注册表值: {valueName} = {value}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
using (Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(regPath, true))
|
||||||
|
{
|
||||||
|
// 仅在值不存在或不等于1时更新
|
||||||
|
object currentValue = key.GetValue("DisableProtectedView");
|
||||||
|
if (currentValue == null || (int)currentValue != 1)
|
||||||
|
{
|
||||||
|
key.SetValue("DisableProtectedView", 1, Microsoft.Win32.RegistryValueKind.DWord);
|
||||||
|
LogHelper.WriteLogToFile($"Office {version} 注册表值已设置: DisableProtectedView = 1");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"Office {version} 注册表值已存在且无需更改: DisableProtectedView = 1");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"处理Office版本 {version} 时出错: {ex.Message}", LogHelper.LogType.Error);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 处理Office 365的特殊路径
|
||||||
|
TryModifyOffice365Registry();
|
||||||
|
}
|
||||||
|
catch (SecurityException secEx)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"安全异常: {secEx.Message}", LogHelper.LogType.Error);
|
||||||
|
ShowPermissionError();
|
||||||
|
}
|
||||||
|
catch (UnauthorizedAccessException authEx)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"访问被拒绝: {authEx.Message}", LogHelper.LogType.Error);
|
||||||
|
ShowPermissionError();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"未知错误: {ex.GetType().FullName} - {ex.Message}", LogHelper.LogType.Error);
|
||||||
|
LogHelper.WriteLogToFile(ex.StackTrace, LogHelper.LogType.Info);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ScrollViewer_PreviewMouseWheel(object sender, System.Windows.Input.MouseWheelEventArgs e)
|
private void ScrollViewer_PreviewMouseWheel(object sender, System.Windows.Input.MouseWheelEventArgs e)
|
||||||
@@ -75,5 +230,552 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 新增:用于设置崩溃后操作类型
|
||||||
|
public enum CrashActionType
|
||||||
|
{
|
||||||
|
SilentRestart,
|
||||||
|
NoAction
|
||||||
|
}
|
||||||
|
|
||||||
|
// 心跳相关
|
||||||
|
private static Timer heartbeatTimer;
|
||||||
|
private static DateTime lastHeartbeat = DateTime.Now;
|
||||||
|
private static Timer watchdogTimer;
|
||||||
|
|
||||||
|
private void StartHeartbeatMonitor()
|
||||||
|
{
|
||||||
|
// 主线程定时更新心跳
|
||||||
|
heartbeatTimer = new Timer(_ => lastHeartbeat = DateTime.Now, null, 0, 1000);
|
||||||
|
// 辅助线程检测心跳超时
|
||||||
|
watchdogTimer = new Timer(_ =>
|
||||||
|
{
|
||||||
|
if ((DateTime.Now - lastHeartbeat).TotalSeconds > 10)
|
||||||
|
{
|
||||||
|
LogHelper.NewLog("检测到主线程无响应,自动重启。");
|
||||||
|
if (CrashAction == CrashActionType.SilentRestart)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string exePath = Process.GetCurrentProcess().MainModule.FileName;
|
||||||
|
Process.Start(exePath);
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
Environment.Exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, null, 0, 3000);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 看门狗进程
|
||||||
|
private void StartWatchdogIfNeeded()
|
||||||
|
{
|
||||||
|
// 避免递归启动
|
||||||
|
if (Environment.GetCommandLineArgs().Contains("--watchdog")) return;
|
||||||
|
// 启动看门狗进程
|
||||||
|
string exePath = Process.GetCurrentProcess().MainModule.FileName;
|
||||||
|
var psi = new ProcessStartInfo
|
||||||
|
{
|
||||||
|
FileName = exePath,
|
||||||
|
Arguments = "--watchdog " + Process.GetCurrentProcess().Id + " \"" + watchdogExitSignalFile + "\"",
|
||||||
|
CreateNoWindow = true,
|
||||||
|
UseShellExecute = false,
|
||||||
|
WindowStyle = ProcessWindowStyle.Hidden
|
||||||
|
};
|
||||||
|
watchdogProcess = Process.Start(psi);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 看门狗主逻辑(在 Main 函数或 App_Startup 入口前加判断)
|
||||||
|
public static void RunWatchdogIfNeeded()
|
||||||
|
{
|
||||||
|
var args = Environment.GetCommandLineArgs();
|
||||||
|
if (args.Length >= 4 && args[1] == "--watchdog")
|
||||||
|
{
|
||||||
|
int pid = int.Parse(args[2]);
|
||||||
|
string exitSignalFile = args[3];
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var proc = Process.GetProcessById(pid);
|
||||||
|
while (!proc.HasExited)
|
||||||
|
{
|
||||||
|
// 检查退出信号文件
|
||||||
|
if (File.Exists(exitSignalFile))
|
||||||
|
{
|
||||||
|
try { File.Delete(exitSignalFile); } catch { }
|
||||||
|
Environment.Exit(0);
|
||||||
|
}
|
||||||
|
Thread.Sleep(2000);
|
||||||
|
}
|
||||||
|
// 主进程异常退出,自动重启
|
||||||
|
string exePath = Process.GetCurrentProcess().MainModule.FileName;
|
||||||
|
Process.Start(exePath);
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
Environment.Exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void App_Exit(object sender, ExitEventArgs e)
|
||||||
|
{
|
||||||
|
// 仅在软件内主动退出时关闭看门狗,并写入退出信号
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (IsAppExitByUser)
|
||||||
|
{
|
||||||
|
// 写入退出信号文件,通知看门狗正常退出
|
||||||
|
File.WriteAllText(watchdogExitSignalFile, "exit");
|
||||||
|
if (watchdogProcess != null && !watchdogProcess.HasExited)
|
||||||
|
{
|
||||||
|
watchdogProcess.Kill();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 检查Office是否安装
|
||||||
|
/// </summary>
|
||||||
|
private bool IsOfficeInstalled()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// 检查多个可能的注册表路径
|
||||||
|
// 1. 检查传统的Office版本
|
||||||
|
using (Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Office"))
|
||||||
|
{
|
||||||
|
if (key != null && key.GetSubKeyNames().Any(name => name.Contains(".0")))
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile("检测到传统Office安装", LogHelper.LogType.Info);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. 检查64位注册表中的Office
|
||||||
|
using (Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Wow6432Node\\Microsoft\\Office"))
|
||||||
|
{
|
||||||
|
if (key != null && key.GetSubKeyNames().Any(name => name.Contains(".0")))
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile("检测到64位注册表中的Office安装", LogHelper.LogType.Info);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3. 检查Office 365/Click-to-Run安装
|
||||||
|
using (Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Office\\ClickToRun"))
|
||||||
|
{
|
||||||
|
if (key != null)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile("检测到Office 365 Click-to-Run", LogHelper.LogType.Info);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4. 检查Office 365部署配置
|
||||||
|
using (Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Office\\15.0\\ClickToRun"))
|
||||||
|
{
|
||||||
|
if (key != null)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile("检测到Office 365 (15.0)", LogHelper.LogType.Info);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
using (Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Office\\16.0\\ClickToRun"))
|
||||||
|
{
|
||||||
|
if (key != null)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile("检测到Office 365 (16.0)", LogHelper.LogType.Info);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 5. 检查Office 365零售订阅信息
|
||||||
|
using (Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Office\\ClickToRun\\Configuration"))
|
||||||
|
{
|
||||||
|
if (key != null)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile("检测到Office 365配置", LogHelper.LogType.Info);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
LogHelper.WriteLogToFile("未检测到任何Office安装", LogHelper.LogType.Warning);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"检查Office安装时出错: {ex.Message}", LogHelper.LogType.Error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 显示权限不足的错误提示
|
||||||
|
/// </summary>
|
||||||
|
private void ShowPermissionError()
|
||||||
|
{
|
||||||
|
const string message = "需要管理员权限才能完成此操作\n请以管理员身份重新启动应用程序";
|
||||||
|
LogHelper.WriteLogToFile(message, LogHelper.LogType.Error);
|
||||||
|
System.Windows.MessageBox.Show(message, "权限错误", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取所有已安装的Office版本
|
||||||
|
/// </summary>
|
||||||
|
private List<string> GetOfficeVersions()
|
||||||
|
{
|
||||||
|
var versions = new List<string>();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// 检查HKLM
|
||||||
|
using (var key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Office"))
|
||||||
|
{
|
||||||
|
if (key != null)
|
||||||
|
{
|
||||||
|
foreach (var subKeyName in key.GetSubKeyNames())
|
||||||
|
{
|
||||||
|
if (subKeyName.Contains(".0"))
|
||||||
|
{
|
||||||
|
versions.Add(subKeyName);
|
||||||
|
LogHelper.WriteLogToFile($"在HKLM中找到Office版本: {subKeyName}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查HKCU
|
||||||
|
using (var key = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Office"))
|
||||||
|
{
|
||||||
|
if (key != null)
|
||||||
|
{
|
||||||
|
foreach (var subKeyName in key.GetSubKeyNames())
|
||||||
|
{
|
||||||
|
if (subKeyName.Contains(".0") && !versions.Contains(subKeyName))
|
||||||
|
{
|
||||||
|
versions.Add(subKeyName);
|
||||||
|
LogHelper.WriteLogToFile($"在HKCU中找到Office版本: {subKeyName}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查64位注册表
|
||||||
|
using (var key = Registry.LocalMachine.OpenSubKey("Software\\Wow6432Node\\Microsoft\\Office"))
|
||||||
|
{
|
||||||
|
if (key != null)
|
||||||
|
{
|
||||||
|
foreach (var subKeyName in key.GetSubKeyNames())
|
||||||
|
{
|
||||||
|
if (subKeyName.Contains(".0") && !versions.Contains(subKeyName))
|
||||||
|
{
|
||||||
|
versions.Add(subKeyName);
|
||||||
|
LogHelper.WriteLogToFile($"在64位注册表中找到Office版本: {subKeyName}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查Office 365的特殊路径
|
||||||
|
CheckOffice365Versions(versions);
|
||||||
|
|
||||||
|
// 如果没有找到任何版本,添加默认的Office 365版本号
|
||||||
|
if (versions.Count == 0 && IsOffice365Installed())
|
||||||
|
{
|
||||||
|
versions.Add("16.0");
|
||||||
|
LogHelper.WriteLogToFile("未找到具体版本,添加默认Office 365版本: 16.0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"获取Office版本时出错: {ex.Message}", LogHelper.LogType.Error);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 按版本号排序
|
||||||
|
versions.Sort((a, b) =>
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
double va = double.Parse(a.Replace(".0", ""));
|
||||||
|
double vb = double.Parse(b.Replace(".0", ""));
|
||||||
|
return vb.CompareTo(va); // 降序排列,最新版本在前
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return versions;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 检测Office 365是否已安装
|
||||||
|
/// </summary>
|
||||||
|
private bool IsOffice365Installed()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// 检查多个Office 365特定路径
|
||||||
|
using (var key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Office\\ClickToRun"))
|
||||||
|
{
|
||||||
|
if (key != null)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
using (var key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Office\\15.0\\ClickToRun"))
|
||||||
|
{
|
||||||
|
if (key != null)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
using (var key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Office\\16.0\\ClickToRun"))
|
||||||
|
{
|
||||||
|
if (key != null)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
using (var key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Office\\ClickToRun\\Configuration"))
|
||||||
|
{
|
||||||
|
if (key != null)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 检查Office 365特有的版本信息
|
||||||
|
/// </summary>
|
||||||
|
private void CheckOffice365Versions(List<string> versions)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// 检查Click-to-Run版本路径
|
||||||
|
using (var key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Office\\ClickToRun\\Configuration"))
|
||||||
|
{
|
||||||
|
if (key != null)
|
||||||
|
{
|
||||||
|
var platformVersion = key.GetValue("Platform") as string;
|
||||||
|
var clickToRunVersion = key.GetValue("VersionToReport") as string;
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(platformVersion))
|
||||||
|
{
|
||||||
|
var majorVersion = platformVersion.Split('.').FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(majorVersion) && !versions.Contains($"{majorVersion}.0"))
|
||||||
|
{
|
||||||
|
versions.Add($"{majorVersion}.0");
|
||||||
|
LogHelper.WriteLogToFile($"在Office 365配置中找到平台版本: {majorVersion}.0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(clickToRunVersion))
|
||||||
|
{
|
||||||
|
var majorVersion = clickToRunVersion.Split('.').FirstOrDefault();
|
||||||
|
if (!string.IsNullOrEmpty(majorVersion) && !versions.Contains($"{majorVersion}.0"))
|
||||||
|
{
|
||||||
|
versions.Add($"{majorVersion}.0");
|
||||||
|
LogHelper.WriteLogToFile($"在Office 365配置中找到报告版本: {majorVersion}.0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查安装路径来确认版本
|
||||||
|
var possibleVersions = new[] { "15.0", "16.0" }; // Office 2013 (15.0) 和 Office 2016/2019/365 (16.0)
|
||||||
|
foreach (var version in possibleVersions)
|
||||||
|
{
|
||||||
|
using (var key = Registry.LocalMachine.OpenSubKey($"Software\\Microsoft\\Office\\{version}\\Common\\InstallRoot"))
|
||||||
|
{
|
||||||
|
if (key != null && key.GetValue("Path") != null && !versions.Contains(version))
|
||||||
|
{
|
||||||
|
versions.Add(version);
|
||||||
|
LogHelper.WriteLogToFile($"在InstallRoot中找到Office版本: {version}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"检查Office 365版本时出错: {ex.Message}", LogHelper.LogType.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 尝试修改Office 365的特殊注册表路径
|
||||||
|
/// </summary>
|
||||||
|
private void TryModifyOffice365Registry()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// 准备备份目录
|
||||||
|
string backupPath = Path.Combine(RootPath, "saves", "RegistryBackups");
|
||||||
|
if (!Directory.Exists(backupPath))
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory(backupPath);
|
||||||
|
LogHelper.WriteLogToFile($"创建Office 365备份目录: {backupPath}");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查Office 365 Outlook和PowerPoint的特定路径
|
||||||
|
string[] apps = { "outlook", "powerpoint" };
|
||||||
|
|
||||||
|
foreach (var app in apps)
|
||||||
|
{
|
||||||
|
// 检查用户级别的注册表
|
||||||
|
string regPath = $"Software\\Microsoft\\Office\\16.0\\{app}\\Security";
|
||||||
|
LogHelper.WriteLogToFile($"检查Office 365特定应用注册表: {regPath}");
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// 先检查是否存在该路径
|
||||||
|
using (var baseKey = Registry.CurrentUser.OpenSubKey(regPath))
|
||||||
|
{
|
||||||
|
// 如果路径存在,先备份
|
||||||
|
if (baseKey != null)
|
||||||
|
{
|
||||||
|
string backupFile = Path.Combine(backupPath, $"SecurityBackup_365_{app}_{DateTime.Now:yyyyMMddHHmmss}.reg");
|
||||||
|
LogHelper.WriteLogToFile($"创建Office 365 {app}备份文件: {backupFile}");
|
||||||
|
|
||||||
|
// 使用UTF8编码写入注册表文件
|
||||||
|
using (StreamWriter sw = new StreamWriter(backupFile, false, System.Text.Encoding.UTF8))
|
||||||
|
{
|
||||||
|
sw.WriteLine("Windows Registry Editor Version 5.00\n");
|
||||||
|
sw.WriteLine();
|
||||||
|
sw.WriteLine($"[{Microsoft.Win32.Registry.CurrentUser.Name}\\{regPath}]");
|
||||||
|
|
||||||
|
foreach (string valueName in baseKey.GetValueNames())
|
||||||
|
{
|
||||||
|
object value = baseKey.GetValue(valueName);
|
||||||
|
sw.WriteLine($"\"{valueName}\"=dword:{((int)value):x8}");
|
||||||
|
LogHelper.WriteLogToFile($"备份Office 365 {app}注册表值: {valueName} = {value}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改或创建注册表项
|
||||||
|
using (var key = Registry.CurrentUser.CreateSubKey(regPath, true))
|
||||||
|
{
|
||||||
|
if (key != null)
|
||||||
|
{
|
||||||
|
object currentValue = key.GetValue("DisableProtectedView");
|
||||||
|
if (currentValue == null || (int)currentValue != 1)
|
||||||
|
{
|
||||||
|
key.SetValue("DisableProtectedView", 1, RegistryValueKind.DWord);
|
||||||
|
LogHelper.WriteLogToFile($"Office 365 {app} 注册表值已设置: DisableProtectedView = 1");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"Office 365 {app} 注册表值已存在且无需更改");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"修改 {app} 注册表时出错: {ex.Message}", LogHelper.LogType.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 尝试通过Office信任中心路径修改
|
||||||
|
string trustCenterPath = "Software\\Microsoft\\Office\\16.0\\Common\\Security\\FileValidation";
|
||||||
|
LogHelper.WriteLogToFile($"检查信任中心路径: {trustCenterPath}");
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// 先检查是否存在该路径
|
||||||
|
using (var baseKey = Registry.CurrentUser.OpenSubKey(trustCenterPath))
|
||||||
|
{
|
||||||
|
// 如果路径存在,先备份
|
||||||
|
if (baseKey != null)
|
||||||
|
{
|
||||||
|
string backupFile = Path.Combine(backupPath, $"SecurityBackup_365_TrustCenter_{DateTime.Now:yyyyMMddHHmmss}.reg");
|
||||||
|
LogHelper.WriteLogToFile($"创建信任中心备份文件: {backupFile}");
|
||||||
|
|
||||||
|
// 使用UTF8编码写入注册表文件
|
||||||
|
using (StreamWriter sw = new StreamWriter(backupFile, false, System.Text.Encoding.UTF8))
|
||||||
|
{
|
||||||
|
sw.WriteLine("Windows Registry Editor Version 5.00\n");
|
||||||
|
sw.WriteLine();
|
||||||
|
sw.WriteLine($"[{Microsoft.Win32.Registry.CurrentUser.Name}\\{trustCenterPath}]");
|
||||||
|
|
||||||
|
foreach (string valueName in baseKey.GetValueNames())
|
||||||
|
{
|
||||||
|
object value = baseKey.GetValue(valueName);
|
||||||
|
sw.WriteLine($"\"{valueName}\"=dword:{((int)value):x8}");
|
||||||
|
LogHelper.WriteLogToFile($"备份信任中心注册表值: {valueName} = {value}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
using (var key = Registry.CurrentUser.CreateSubKey(trustCenterPath, true))
|
||||||
|
{
|
||||||
|
if (key != null)
|
||||||
|
{
|
||||||
|
key.SetValue("DisableEditFromPV", 1, RegistryValueKind.DWord);
|
||||||
|
LogHelper.WriteLogToFile("已禁用受保护视图中的编辑");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"修改信任中心路径时出错: {ex.Message}", LogHelper.LogType.Error);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 尝试修改EnableEditWhileViewingPolicy
|
||||||
|
string policyPath = "Software\\Policies\\Microsoft\\Office\\16.0\\Common\\Security";
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// 先检查是否存在该路径
|
||||||
|
using (var baseKey = Registry.CurrentUser.OpenSubKey(policyPath))
|
||||||
|
{
|
||||||
|
// 如果路径存在,先备份
|
||||||
|
if (baseKey != null)
|
||||||
|
{
|
||||||
|
string backupFile = Path.Combine(backupPath, $"SecurityBackup_365_Policy_{DateTime.Now:yyyyMMddHHmmss}.reg");
|
||||||
|
LogHelper.WriteLogToFile($"创建策略备份文件: {backupFile}");
|
||||||
|
|
||||||
|
// 使用UTF8编码写入注册表文件
|
||||||
|
using (StreamWriter sw = new StreamWriter(backupFile, false, System.Text.Encoding.UTF8))
|
||||||
|
{
|
||||||
|
sw.WriteLine("Windows Registry Editor Version 5.00\n");
|
||||||
|
sw.WriteLine();
|
||||||
|
sw.WriteLine($"[{Microsoft.Win32.Registry.CurrentUser.Name}\\{policyPath}]");
|
||||||
|
|
||||||
|
foreach (string valueName in baseKey.GetValueNames())
|
||||||
|
{
|
||||||
|
object value = baseKey.GetValue(valueName);
|
||||||
|
sw.WriteLine($"\"{valueName}\"=dword:{((int)value):x8}");
|
||||||
|
LogHelper.WriteLogToFile($"备份策略注册表值: {valueName} = {value}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
using (var key = Registry.CurrentUser.CreateSubKey(policyPath, true))
|
||||||
|
{
|
||||||
|
if (key != null)
|
||||||
|
{
|
||||||
|
key.SetValue("EnableEditWhileViewingPolicy", 1, RegistryValueKind.DWord);
|
||||||
|
LogHelper.WriteLogToFile("已启用查看时编辑策略");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"修改策略路径时出错: {ex.Message}", LogHelper.LogType.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"修改Office 365注册表时发生未知错误: {ex.Message}", LogHelper.LogType.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ namespace Ink_Canvas.Helpers
|
|||||||
{
|
{
|
||||||
string localVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
string localVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
||||||
string remoteAddress = proxy;
|
string remoteAddress = proxy;
|
||||||
remoteAddress += "https://gitea.bliemhax.com/kriastans/InkCanvasForClass/raw/branch/master/AutomaticUpdateVersionControl.txt";
|
remoteAddress += "https://github.com/CJKmkp/ICC-CE/blob/main/AutomaticUpdateVersionControl.txt";
|
||||||
string remoteVersion = await GetRemoteVersion(remoteAddress);
|
string remoteVersion = await GetRemoteVersion(remoteAddress);
|
||||||
|
|
||||||
if (remoteVersion != null)
|
if (remoteVersion != null)
|
||||||
|
|||||||
@@ -0,0 +1,209 @@
|
|||||||
|
using System;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Interop;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Ink_Canvas.Helpers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 防止窗口进入全屏状态的辅助类
|
||||||
|
/// </summary>
|
||||||
|
public static partial class AvoidFullScreenHelper
|
||||||
|
{
|
||||||
|
private static readonly DependencyProperty IsAvoidFullScreenEnabledProperty =
|
||||||
|
DependencyProperty.RegisterAttached(
|
||||||
|
"IsAvoidFullScreenEnabled",
|
||||||
|
typeof(bool),
|
||||||
|
typeof(AvoidFullScreenHelper));
|
||||||
|
|
||||||
|
private static bool _isBoardMode = false;
|
||||||
|
public static void SetBoardMode(bool isBoardMode)
|
||||||
|
{
|
||||||
|
_isBoardMode = isBoardMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void StartAvoidFullScreen(Window window)
|
||||||
|
{
|
||||||
|
if (window == null)
|
||||||
|
throw new ArgumentNullException(nameof(window));
|
||||||
|
|
||||||
|
if (!(bool)window.GetValue(IsAvoidFullScreenEnabledProperty))
|
||||||
|
{
|
||||||
|
var hwndSource = PresentationSource.FromVisual(window) as HwndSource;
|
||||||
|
if (hwndSource != null)
|
||||||
|
{
|
||||||
|
hwndSource.AddHook(KeepInWorkingAreaHook);
|
||||||
|
window.SetValue(IsAvoidFullScreenEnabledProperty, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void StopAvoidFullScreen(Window window)
|
||||||
|
{
|
||||||
|
if (window == null)
|
||||||
|
throw new ArgumentNullException(nameof(window));
|
||||||
|
|
||||||
|
if ((bool)window.GetValue(IsAvoidFullScreenEnabledProperty))
|
||||||
|
{
|
||||||
|
var hwndSource = PresentationSource.FromVisual(window) as HwndSource;
|
||||||
|
if (hwndSource != null)
|
||||||
|
{
|
||||||
|
hwndSource.RemoveHook(KeepInWorkingAreaHook);
|
||||||
|
window.ClearValue(IsAvoidFullScreenEnabledProperty);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool GetIsAvoidFullScreenEnabled(DependencyObject obj) => (bool)obj.GetValue(IsAvoidFullScreenEnabledProperty);
|
||||||
|
public static void SetIsAvoidFullScreenEnabled(DependencyObject obj, bool value) => obj.SetValue(IsAvoidFullScreenEnabledProperty, value);
|
||||||
|
|
||||||
|
private static IntPtr KeepInWorkingAreaHook(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
|
||||||
|
{
|
||||||
|
// 只拦截主画布窗口的全屏(最大化)操作
|
||||||
|
var window = HwndSource.FromHwnd(hwnd)?.RootVisual as Window;
|
||||||
|
if (window == null) return IntPtr.Zero;
|
||||||
|
// 这里假设主画布窗口类名为MainWindow(如有不同请调整)
|
||||||
|
if (window.GetType().Name != "MainWindow") return IntPtr.Zero;
|
||||||
|
|
||||||
|
if (_isBoardMode)
|
||||||
|
{
|
||||||
|
// 画板模式下允许全屏/最大化,不拦截
|
||||||
|
return IntPtr.Zero;
|
||||||
|
}
|
||||||
|
const int WM_WINDOWPOSCHANGING = 0x0046;
|
||||||
|
const int WM_SYSCOMMAND = 0x0112;
|
||||||
|
const int SC_MAXIMIZE = 0xF030;
|
||||||
|
if (msg == WM_SYSCOMMAND && wParam.ToInt32() == SC_MAXIMIZE)
|
||||||
|
{
|
||||||
|
// 拦截最大化命令,强制还原窗口并调整到工作区
|
||||||
|
window.WindowState = WindowState.Normal;
|
||||||
|
var workingArea = GetWorkingArea(new Rect(window.Left, window.Top, window.Width, window.Height));
|
||||||
|
window.Left = workingArea.Left;
|
||||||
|
window.Top = workingArea.Top;
|
||||||
|
window.Width = workingArea.Width;
|
||||||
|
window.Height = workingArea.Height;
|
||||||
|
handled = true;
|
||||||
|
return IntPtr.Zero;
|
||||||
|
}
|
||||||
|
if (msg != WM_WINDOWPOSCHANGING)
|
||||||
|
return IntPtr.Zero;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var pos = (WindowPosition)Marshal.PtrToStructure(lParam, typeof(WindowPosition));
|
||||||
|
if ((pos.Flags & (WindowPositionFlags.SWP_NOMOVE | WindowPositionFlags.SWP_NOSIZE)) != 0)
|
||||||
|
return IntPtr.Zero;
|
||||||
|
// 只处理主画布窗口
|
||||||
|
// 计算目标矩形
|
||||||
|
var targetRect = new Rect(
|
||||||
|
(pos.Flags & WindowPositionFlags.SWP_NOMOVE) == 0 ? pos.X : window.Left,
|
||||||
|
(pos.Flags & WindowPositionFlags.SWP_NOMOVE) == 0 ? pos.Y : window.Top,
|
||||||
|
(pos.Flags & WindowPositionFlags.SWP_NOSIZE) == 0 ? pos.Width : window.Width,
|
||||||
|
(pos.Flags & WindowPositionFlags.SWP_NOSIZE) == 0 ? pos.Height : window.Height);
|
||||||
|
var workingArea = GetWorkingArea(targetRect);
|
||||||
|
var adjustedRect = AdjustRectToWorkingArea(targetRect, workingArea);
|
||||||
|
pos.X = (int)adjustedRect.Left;
|
||||||
|
pos.Y = (int)adjustedRect.Top;
|
||||||
|
pos.Width = (int)adjustedRect.Width;
|
||||||
|
pos.Height = (int)adjustedRect.Height;
|
||||||
|
pos.Flags &= ~(WindowPositionFlags.SWP_NOSIZE | WindowPositionFlags.SWP_NOMOVE | WindowPositionFlags.SWP_NOREDRAW);
|
||||||
|
pos.Flags |= WindowPositionFlags.SWP_NOCOPYBITS;
|
||||||
|
Marshal.StructureToPtr(pos, lParam, false);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"窗口位置调整失败: {ex.Message}");
|
||||||
|
}
|
||||||
|
return IntPtr.Zero;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Rect GetWorkingArea(Rect windowRect)
|
||||||
|
{
|
||||||
|
// 获取所有显示器
|
||||||
|
var screens = System.Windows.Forms.Screen.AllScreens;
|
||||||
|
|
||||||
|
// 确定窗口主要位于哪个显示器上
|
||||||
|
System.Windows.Forms.Screen targetScreen = null;
|
||||||
|
double maxIntersection = 0;
|
||||||
|
|
||||||
|
foreach (var screen in screens)
|
||||||
|
{
|
||||||
|
var screenRect = new Rect(
|
||||||
|
screen.WorkingArea.X,
|
||||||
|
screen.WorkingArea.Y,
|
||||||
|
screen.WorkingArea.Width,
|
||||||
|
screen.WorkingArea.Height);
|
||||||
|
|
||||||
|
var intersection = Rect.Intersect(windowRect, screenRect);
|
||||||
|
if (intersection.Width * intersection.Height > maxIntersection)
|
||||||
|
{
|
||||||
|
maxIntersection = intersection.Width * intersection.Height;
|
||||||
|
targetScreen = screen;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果没找到,使用主显示器
|
||||||
|
if (targetScreen == null)
|
||||||
|
targetScreen = System.Windows.Forms.Screen.PrimaryScreen;
|
||||||
|
|
||||||
|
return new Rect(
|
||||||
|
targetScreen.WorkingArea.X,
|
||||||
|
targetScreen.WorkingArea.Y,
|
||||||
|
targetScreen.WorkingArea.Width,
|
||||||
|
targetScreen.WorkingArea.Height);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Rect AdjustRectToWorkingArea(Rect windowRect, Rect workingArea)
|
||||||
|
{
|
||||||
|
// 调整尺寸以适应工作区域
|
||||||
|
if (windowRect.Width > workingArea.Width)
|
||||||
|
windowRect.Width = workingArea.Width;
|
||||||
|
|
||||||
|
if (windowRect.Height > workingArea.Height)
|
||||||
|
windowRect.Height = workingArea.Height;
|
||||||
|
|
||||||
|
// 调整位置以确保窗口完全在工作区域内
|
||||||
|
if (windowRect.Left < workingArea.Left)
|
||||||
|
windowRect.X = workingArea.Left;
|
||||||
|
else if (windowRect.Right > workingArea.Right)
|
||||||
|
windowRect.X = workingArea.Right - windowRect.Width;
|
||||||
|
|
||||||
|
if (windowRect.Top < workingArea.Top)
|
||||||
|
windowRect.Y = workingArea.Top;
|
||||||
|
else if (windowRect.Bottom > workingArea.Bottom)
|
||||||
|
windowRect.Y = workingArea.Bottom - windowRect.Height;
|
||||||
|
|
||||||
|
return windowRect;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 使用WPF原生类型替代Win32结构
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
internal struct WindowPosition
|
||||||
|
{
|
||||||
|
public IntPtr Hwnd;
|
||||||
|
public IntPtr HwndInsertAfter;
|
||||||
|
public int X;
|
||||||
|
public int Y;
|
||||||
|
public int Width;
|
||||||
|
public int Height;
|
||||||
|
public WindowPositionFlags Flags;
|
||||||
|
}
|
||||||
|
|
||||||
|
[Flags]
|
||||||
|
internal enum WindowPositionFlags : uint
|
||||||
|
{
|
||||||
|
SWP_NOSIZE = 0x0001,
|
||||||
|
SWP_NOMOVE = 0x0002,
|
||||||
|
SWP_NOZORDER = 0x0004,
|
||||||
|
SWP_NOREDRAW = 0x0008,
|
||||||
|
SWP_NOACTIVATE = 0x0010,
|
||||||
|
SWP_FRAMECHANGED = 0x0020,
|
||||||
|
SWP_SHOWWINDOW = 0x0040,
|
||||||
|
SWP_HIDEWINDOW = 0x0080,
|
||||||
|
SWP_NOCOPYBITS = 0x0100,
|
||||||
|
SWP_NOOWNERZORDER = 0x0200,
|
||||||
|
SWP_NOSENDCHANGING = 0x0400,
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,17 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using Microsoft.VisualBasic;
|
|
||||||
using System.Collections;
|
|
||||||
using System.Data;
|
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,44 @@ namespace Ink_Canvas.Helpers
|
|||||||
[DllImport("user32.dll")]
|
[DllImport("user32.dll")]
|
||||||
private static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);
|
private static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);
|
||||||
|
|
||||||
|
[DllImport("shell32.dll")]
|
||||||
|
private static extern IntPtr SHAppBarMessage(uint dwMessage, ref APPBARDATA pData);
|
||||||
|
|
||||||
|
[DllImport("user32.dll")]
|
||||||
|
private static extern int SystemParametersInfo(uint uiAction, uint uiParam, IntPtr pvParam, uint fWinIni);
|
||||||
|
|
||||||
|
[DllImport("user32.dll")]
|
||||||
|
private static extern bool GetMonitorInfo(IntPtr hMonitor, ref MONITORINFO lpmi);
|
||||||
|
|
||||||
|
[DllImport("user32.dll")]
|
||||||
|
private static extern IntPtr MonitorFromWindow(IntPtr hwnd, uint dwFlags);
|
||||||
|
|
||||||
|
private const uint ABM_GETTASKBARPOS = 0x00000005;
|
||||||
|
private const uint ABM_GETSTATE = 0x00000004;
|
||||||
|
private const int SPI_GETWORKAREA = 0x0030;
|
||||||
|
private const uint MONITOR_DEFAULTTOPRIMARY = 1;
|
||||||
|
private const int ABS_AUTOHIDE = 0x0000001;
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct MONITORINFO
|
||||||
|
{
|
||||||
|
public int cbSize;
|
||||||
|
public RECT rcMonitor;
|
||||||
|
public RECT rcWork;
|
||||||
|
public uint dwFlags;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct APPBARDATA
|
||||||
|
{
|
||||||
|
public int cbSize;
|
||||||
|
public IntPtr hWnd;
|
||||||
|
public uint uCallbackMessage;
|
||||||
|
public uint uEdge;
|
||||||
|
public RECT rc;
|
||||||
|
public IntPtr lParam;
|
||||||
|
}
|
||||||
|
|
||||||
[StructLayout(LayoutKind.Sequential)]
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
public struct RECT {
|
public struct RECT {
|
||||||
public int Left;
|
public int Left;
|
||||||
@@ -34,6 +72,72 @@ namespace Ink_Canvas.Helpers
|
|||||||
public int Height => Bottom - Top;
|
public int Height => Bottom - Top;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取Windows任务栏的高度(仅计算任务栏,不包括其他应用的停靠栏)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="screen">当前屏幕</param>
|
||||||
|
/// <param name="dpiScaleY">DPI缩放Y值</param>
|
||||||
|
/// <returns>任务栏高度</returns>
|
||||||
|
public static double GetTaskbarHeight(System.Windows.Forms.Screen screen, double dpiScaleY)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// 创建APPBARDATA结构
|
||||||
|
var abd = new APPBARDATA();
|
||||||
|
abd.cbSize = Marshal.SizeOf(abd);
|
||||||
|
|
||||||
|
// 获取任务栏状态
|
||||||
|
IntPtr state = SHAppBarMessage(ABM_GETSTATE, ref abd);
|
||||||
|
bool isAutoHide = (state.ToInt32() & ABS_AUTOHIDE) == ABS_AUTOHIDE;
|
||||||
|
|
||||||
|
// 如果任务栏是自动隐藏的,返回0
|
||||||
|
if (isAutoHide)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile("任务栏处于自动隐藏状态", LogHelper.LogType.Info);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取任务栏信息
|
||||||
|
IntPtr result = SHAppBarMessage(ABM_GETTASKBARPOS, ref abd);
|
||||||
|
if (result != IntPtr.Zero)
|
||||||
|
{
|
||||||
|
// 获取当前屏幕的工作区
|
||||||
|
RECT workArea = new RECT();
|
||||||
|
SystemParametersInfo(SPI_GETWORKAREA, 0, Marshal.AllocHGlobal(Marshal.SizeOf(workArea)), 0);
|
||||||
|
|
||||||
|
// 根据任务栏位置计算高度
|
||||||
|
int taskbarHeight = 0;
|
||||||
|
|
||||||
|
// 任务栏的uEdge: 0=左, 1=上, 2=右, 3=下
|
||||||
|
switch (abd.uEdge)
|
||||||
|
{
|
||||||
|
case 1: // 上
|
||||||
|
taskbarHeight = abd.rc.Height;
|
||||||
|
break;
|
||||||
|
case 3: // 下
|
||||||
|
taskbarHeight = abd.rc.Height;
|
||||||
|
break;
|
||||||
|
case 0: // 左
|
||||||
|
case 2: // 右
|
||||||
|
// 水平任务栏不影响高度
|
||||||
|
taskbarHeight = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 考虑DPI缩放
|
||||||
|
return taskbarHeight / dpiScaleY;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Debug.WriteLine($"获取任务栏高度出错: {ex.Message}");
|
||||||
|
LogHelper.WriteLogToFile($"获取任务栏高度出错: {ex.Message}", LogHelper.LogType.Error);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果获取失败,回退到通用方法
|
||||||
|
return (screen.Bounds.Height - screen.WorkingArea.Height) / dpiScaleY;
|
||||||
|
}
|
||||||
|
|
||||||
public static string WindowTitle() {
|
public static string WindowTitle() {
|
||||||
IntPtr foregroundWindowHandle = GetForegroundWindow();
|
IntPtr foregroundWindowHandle = GetForegroundWindow();
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
+202
-9
@@ -221,6 +221,80 @@
|
|||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
|
<Border Margin="0,0,0,10" Height="100" CornerRadius="5" BorderBrush="#a1a1aa"
|
||||||
|
BorderThickness="1">
|
||||||
|
<ui:SimpleStackPanel VerticalAlignment="Center">
|
||||||
|
<TextBlock Foreground="#fafafa" HorizontalAlignment="Center"
|
||||||
|
VerticalAlignment="Center" FontSize="15" Margin="0,0,0,10"
|
||||||
|
Text="开发中...请不要点击,可能会导致ICC异常崩溃" />
|
||||||
|
<ui:SimpleStackPanel Spacing="5">
|
||||||
|
<ui:SimpleStackPanel Spacing="5" Orientation="Horizontal"
|
||||||
|
HorizontalAlignment="Center">
|
||||||
|
<Button Width="116" Height="45" FontFamily="Microsoft YaHei UI"
|
||||||
|
Click="BtnRestart_Click">
|
||||||
|
<Button.Resources>
|
||||||
|
</Button.Resources>
|
||||||
|
<ui:SimpleStackPanel Orientation="Horizontal"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
HorizontalAlignment="Center" Spacing="0">
|
||||||
|
<Image RenderOptions.BitmapScalingMode="HighQuality"
|
||||||
|
Margin="0,0,6,0" Height="20" Width="20">
|
||||||
|
<Image.Source>
|
||||||
|
<DrawingImage>
|
||||||
|
<DrawingImage.Drawing>
|
||||||
|
<DrawingGroup ClipGeometry="M0,0 V24 H24 V0 H0 Z">
|
||||||
|
<GeometryDrawing Brush="White"
|
||||||
|
Geometry="F1 M24,24z M0,0z M6.34315,6.34315C7.84299,4.8433 9.87707,4.0005 11.9981,4 14.2527,4.00897 16.4167,4.88785 18.039,6.45324L18.5858,7 16,7C15.4477,7 15,7.44772 15,8 15,8.55228 15.4477,9 16,9L21,9C21.1356,9 21.2649,8.97301 21.3828,8.92412 21.5007,8.87532 21.6112,8.80298 21.7071,8.70711 21.8902,8.52405 21.9874,8.28768 21.9989,8.04797 21.9996,8.03199 22,8.016 22,8L22,3C22,2.44772 21.5523,2 21,2 20.4477,2 20,2.44772 20,3L20,5.58579 19.4471,5.03289 19.435,5.02103C17.4405,3.09289,14.7779,2.01044,12.0038,2L12,2C9.34784,2 6.8043,3.05357 4.92893,4.92893 3.05357,6.8043 2,9.34784 2,12 2,12.5523 2.44772,13 3,13 3.55228,13 4,12.5523 4,12 4,9.87827 4.84285,7.84344 6.34315,6.34315z" />
|
||||||
|
<GeometryDrawing Brush="White"
|
||||||
|
Geometry="F1 M24,24z M0,0z M22,12C22,14.6522 20.9464,17.1957 19.0711,19.0711 17.1957,20.9464 14.6522,22 12,22L11.9962,22C9.22213,21.9896,6.55946,20.9071,4.56496,18.979L4.55289,18.9671 4,18.4142 4,21C4,21.5523 3.55228,22 3,22 2.44772,22 2,21.5523 2,21L2,16.0002C2,15.8646 2.02699,15.7351 2.07588,15.6172 2.12432,15.5001 2.19595,15.3904 2.29078,15.295 2.29219,15.2936 2.2936,15.2922 2.29502,15.2908 2.48924,15.0977 2.74301,15.0008 2.997,15 2.998,15 2.999,15 3,15L8,15C8.55228,15 9,15.4477 9,16 9,16.5523 8.55228,17 8,17L5.41421,17 5.96095,17.5467C7.5833,19.1122 9.74736,19.9911 12.002,20 14.123,19.9995 16.157,19.1567 17.6569,17.6569 19.1571,16.1566 20,14.1217 20,12 20,11.4477 20.4477,11 21,11 21.5523,11 22,11.4477 22,12z" />
|
||||||
|
</DrawingGroup>
|
||||||
|
</DrawingImage.Drawing>
|
||||||
|
</DrawingImage>
|
||||||
|
</Image.Source>
|
||||||
|
</Image>
|
||||||
|
<Label FontSize="16" Foreground="#fafafa"
|
||||||
|
VerticalAlignment="Center" FontFamily="Microsoft YaHei UI"
|
||||||
|
FontWeight="Bold">
|
||||||
|
测试
|
||||||
|
</Label>
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
|
</Button>
|
||||||
|
<Button Width="116" Height="45" FontFamily="Microsoft YaHei UI"
|
||||||
|
Click="BtnResetToSuggestion_Click"
|
||||||
|
Margin="0,0,0,0">
|
||||||
|
<ui:SimpleStackPanel Orientation="Horizontal"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
HorizontalAlignment="Center" Spacing="0">
|
||||||
|
<Image
|
||||||
|
Margin="0,0,4,0" RenderOptions.BitmapScalingMode="HighQuality"
|
||||||
|
Height="20" Width="20">
|
||||||
|
<Image.Source>
|
||||||
|
<DrawingImage>
|
||||||
|
<DrawingImage.Drawing>
|
||||||
|
<DrawingGroup ClipGeometry="M0,0 V24 H24 V0 H0 Z">
|
||||||
|
<GeometryDrawing Brush="White"
|
||||||
|
Geometry="F1 M24,24z M0,0z M2,6C2,5.44772,2.44772,5,3,5L21,5C21.5523,5 22,5.44772 22,6 22,6.55228 21.5523,7 21,7L3,7C2.44772,7,2,6.55228,2,6z" />
|
||||||
|
<GeometryDrawing Brush="White"
|
||||||
|
Geometry="F1 M24,24z M0,0z M2,12C2,11.4477,2.44772,11,3,11L7,11C7.55228,11 8,11.4477 8,12 8,12.5523 7.55228,13 7,13L3,13C2.44772,13,2,12.5523,2,12z" />
|
||||||
|
<GeometryDrawing Brush="White"
|
||||||
|
Geometry="F1 M24,24z M0,0z M3,17C2.44772,17 2,17.4477 2,18 2,18.5523 2.44772,19 3,19L7,19C7.55228,19 8,18.5523 8,18 8,17.4477 7.55228,17 7,17L3,17z" />
|
||||||
|
<GeometryDrawing Brush="White"
|
||||||
|
Geometry="F1 M24,24z M0,0z M12.3829,11.2029C13.4335,10.1522 14.8952,9.5 16.5,9.5 17.9587,9.5 19.3576,10.0795 20.3891,11.1109 21.4205,12.1424 22,13.5413 22,15 22,16.2593 21.6038,17.4867 20.8675,18.5083 20.1311,19.5299 19.092,20.2939 17.8974,20.6921 16.7027,21.0903 15.413,21.1026 14.211,20.7271 13.009,20.3516 11.9556,19.6074 11.2,18.6 10.8686,18.1582 10.9582,17.5314 11.4,17.2 11.8418,16.8686 12.4686,16.9582 12.8,17.4 13.3037,18.0716 14.006,18.5677 14.8073,18.8181 15.6087,19.0684 16.4685,19.0602 17.2649,18.7947 18.0614,18.5292 18.7541,18.0199 19.245,17.3388 19.7359,16.6578 20,15.8395 20,15 20,14.0717 19.6313,13.1815 18.9749,12.5251 18.3185,11.8687 17.4283,11.5 16.5,11.5 15.4448,11.5 14.4865,11.9278 13.7971,12.6171L13.4142,13 15,13C15.5523,13 16,13.4477 16,14 16,14.5523 15.5523,15 15,15L11.0007,15C10.9997,15 10.998,15 10.997,15 10.8625,14.9996 10.7343,14.9727 10.6172,14.9241 10.5001,14.8757 10.3904,14.804 10.295,14.7092 10.2936,14.7078 10.2922,14.7064 10.2908,14.705 10.196,14.6096 10.1243,14.4999 10.0759,14.3828 10.027,14.2649 10,14.1356 10,14L10,10C10,9.44772 10.4477,9 11,9 11.5523,9 12,9.44772 12,10L12,11.5858 12.3829,11.2029z" />
|
||||||
|
</DrawingGroup>
|
||||||
|
</DrawingImage.Drawing>
|
||||||
|
</DrawingImage>
|
||||||
|
</Image.Source>
|
||||||
|
</Image>
|
||||||
|
<Label Margin="2,0,0,0" FontSize="16" VerticalAlignment="Center"
|
||||||
|
FontFamily="Microsoft YaHei UI">
|
||||||
|
测试
|
||||||
|
</Label>
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
|
</Button>
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
|
</Border>
|
||||||
<GroupBox>
|
<GroupBox>
|
||||||
<GroupBox.Header>
|
<GroupBox.Header>
|
||||||
<TextBlock Margin="0,12,0,0" Text="启动" FontWeight="Bold" Foreground="#fafafa"
|
<TextBlock Margin="0,12,0,0" Text="启动" FontWeight="Bold" Foreground="#fafafa"
|
||||||
@@ -303,6 +377,23 @@
|
|||||||
IsOn="True" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
|
IsOn="True" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
|
||||||
Toggled="ToggleSwitchShowCursor_Toggled" />
|
Toggled="ToggleSwitchShowCursor_Toggled" />
|
||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||||
|
<TextBlock Foreground="#fafafa" Text="启用压感触屏模式" VerticalAlignment="Center"
|
||||||
|
FontSize="14" Margin="0,0,16,0" />
|
||||||
|
<ui:ToggleSwitch OnContent="" OffContent="" Name="ToggleSwitchEnablePressureTouchMode"
|
||||||
|
IsOn="True" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
|
||||||
|
Toggled="ToggleSwitchEnablePressureTouchMode_Toggled" />
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
|
<TextBlock Text="# 开启后,触屏设备也将支持压感效果,适用于部分支持压感但无法被系统识别的触屏设备。" TextWrapping="Wrap" Foreground="#a1a1aa" />
|
||||||
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||||
|
<TextBlock Foreground="#fafafa" Text="屏蔽压感" VerticalAlignment="Center"
|
||||||
|
FontSize="14" Margin="0,0,16,0" />
|
||||||
|
<ui:ToggleSwitch OnContent="" OffContent="" Name="ToggleSwitchDisablePressure"
|
||||||
|
IsOn="True" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
|
||||||
|
Toggled="ToggleSwitchDisablePressure_Toggled" />
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
|
<TextBlock Text="# 开启后,将忽略所有设备的压感信息,使所有笔画具有统一的粗细。与压感触屏模式互斥。" TextWrapping="Wrap" Foreground="#a1a1aa" />
|
||||||
|
|
||||||
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||||
<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" />
|
||||||
@@ -361,6 +452,25 @@
|
|||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
|
<!-- 新增:崩溃后操作设置 -->
|
||||||
|
<GroupBox>
|
||||||
|
<GroupBox.Header>
|
||||||
|
<TextBlock Margin="0,12,0,0" Text="崩溃后操作" FontWeight="Bold" Foreground="#fafafa"
|
||||||
|
FontSize="26" />
|
||||||
|
</GroupBox.Header>
|
||||||
|
<ui:SimpleStackPanel Spacing="6">
|
||||||
|
<TextBlock Text="请选择软件发生未处理异常时的自动操作:" Foreground="#a1a1aa" />
|
||||||
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Margin="0,4,0,0">
|
||||||
|
<RadioButton x:Name="RadioCrashSilentRestart" GroupName="CrashAction"
|
||||||
|
Content="静默重启软件" FontSize="14" Margin="0,0,24,0"
|
||||||
|
Checked="RadioCrashAction_Checked"/>
|
||||||
|
<RadioButton x:Name="RadioCrashNoAction" GroupName="CrashAction"
|
||||||
|
Content="无操作" FontSize="14"
|
||||||
|
Checked="RadioCrashAction_Checked"/>
|
||||||
|
</StackPanel>
|
||||||
|
<TextBlock Text="# 静默重启:崩溃后自动重启软件,无提示。无操作:崩溃后仅记录日志,不自动重启。" Foreground="#a1a1aa" />
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
|
</GroupBox>
|
||||||
<GroupBox>
|
<GroupBox>
|
||||||
<GroupBox.Header>
|
<GroupBox.Header>
|
||||||
<TextBlock Margin="0,12,0,0" Text="手势" FontWeight="Bold" Foreground="#fafafa"
|
<TextBlock Margin="0,12,0,0" Text="手势" FontWeight="Bold" Foreground="#fafafa"
|
||||||
@@ -460,7 +570,46 @@
|
|||||||
</CheckBox>
|
</CheckBox>
|
||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
|
<Line HorizontalAlignment="Center" X1="0" Y1="0" X2="400" Y2="0"
|
||||||
|
Stroke="#3f3f46" StrokeThickness="1" Margin="0,4,0,4" />
|
||||||
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||||
|
<TextBlock Foreground="#fafafa" Text="直线自动拉直" VerticalAlignment="Center"
|
||||||
|
FontSize="14" Margin="0,0,16,0" />
|
||||||
|
<ui:ToggleSwitch OnContent="" OffContent="" Name="ToggleSwitchAutoStraightenLine"
|
||||||
|
IsOn="True" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
|
||||||
|
Toggled="ToggleSwitchAutoStraightenLine_Toggled" />
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left"
|
||||||
|
Visibility="{Binding ElementName=ToggleSwitchAutoStraightenLine, Path=IsOn, Converter={StaticResource BooleanToVisibilityConverter}}">
|
||||||
|
<TextBlock Foreground="#fafafa" Text="长度阈值" VerticalAlignment="Center"
|
||||||
|
FontSize="14" Margin="0,0,16,0" />
|
||||||
|
<Slider Name="AutoStraightenLineThresholdSlider" Width="150" Minimum="30" Maximum="300"
|
||||||
|
Value="30" TickFrequency="30" IsSnapToTickEnabled="True"
|
||||||
|
ValueChanged="AutoStraightenLineThresholdSlider_ValueChanged" />
|
||||||
|
<TextBlock Foreground="#fafafa" Text="{Binding ElementName=AutoStraightenLineThresholdSlider, Path=Value, StringFormat={}{0:0}}"
|
||||||
|
VerticalAlignment="Center" FontSize="14" Margin="16,0,0,0" />
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
|
<TextBlock Text="# 开启后,当绘制的直线超过设定长度阈值时,将自动调整为完美直线。" TextWrapping="Wrap" Foreground="#a1a1aa" />
|
||||||
|
<Line HorizontalAlignment="Center" X1="0" Y1="0" X2="400" Y2="0"
|
||||||
|
Stroke="#3f3f46" StrokeThickness="1" Margin="0,4,0,4" />
|
||||||
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||||
|
<TextBlock Foreground="#fafafa" Text="直线端点吸附" VerticalAlignment="Center"
|
||||||
|
FontSize="14" Margin="0,0,16,0" />
|
||||||
|
<ui:ToggleSwitch OnContent="" OffContent="" Name="ToggleSwitchLineEndpointSnapping"
|
||||||
|
IsOn="True" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
|
||||||
|
Toggled="ToggleSwitchLineEndpointSnapping_Toggled" />
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left"
|
||||||
|
Visibility="{Binding ElementName=ToggleSwitchLineEndpointSnapping, Path=IsOn, Converter={StaticResource BooleanToVisibilityConverter}}">
|
||||||
|
<TextBlock Foreground="#fafafa" Text="吸附距离" VerticalAlignment="Center"
|
||||||
|
FontSize="14" Margin="0,0,16,0" />
|
||||||
|
<Slider Name="LineEndpointSnappingThresholdSlider" Width="150" Minimum="5" Maximum="50"
|
||||||
|
Value="15" TickFrequency="5" IsSnapToTickEnabled="True"
|
||||||
|
ValueChanged="LineEndpointSnappingThresholdSlider_ValueChanged" />
|
||||||
|
<TextBlock Foreground="#fafafa" Text="{Binding ElementName=LineEndpointSnappingThresholdSlider, Path=Value, StringFormat={}{0:0}}"
|
||||||
|
VerticalAlignment="Center" FontSize="14" Margin="16,0,0,0" />
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
|
<TextBlock Text="# 开启后,当绘制的直线端点靠近其他直线端点时,将自动吸附连接。" TextWrapping="Wrap" Foreground="#a1a1aa" />
|
||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
<GroupBox Name="GroupBoxAppearanceNewUI">
|
<GroupBox Name="GroupBoxAppearanceNewUI">
|
||||||
@@ -475,8 +624,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" />
|
||||||
@@ -1207,6 +1356,40 @@
|
|||||||
<TextBlock TextWrapping="Wrap" Foreground="#a1a1aa"
|
<TextBlock TextWrapping="Wrap" Foreground="#a1a1aa"
|
||||||
Text="# 感谢lindexi大佬提供的FullScreenHelper,可以减少任务栏弹出的问题,且支持多显示器自动全屏(虽然对icc来说没什么用就是了),如果遇到一些玄学问题,可以关闭该功能,重启icc后生效。" />
|
Text="# 感谢lindexi大佬提供的FullScreenHelper,可以减少任务栏弹出的问题,且支持多显示器自动全屏(虽然对icc来说没什么用就是了),如果遇到一些玄学问题,可以关闭该功能,重启icc后生效。" />
|
||||||
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||||
|
|
||||||
|
<TextBlock Foreground="#fafafa" Text="启用AvoidFullScreenHelper"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
FontSize="14" Margin="0,0,6,0" />
|
||||||
|
<Border Height="20" CornerRadius="3" Background="#7f1d1d" Margin="0,0,12,0"
|
||||||
|
Padding="4,0">
|
||||||
|
<ui:SimpleStackPanel Orientation="Horizontal" Spacing="3"
|
||||||
|
VerticalAlignment="Center">
|
||||||
|
<Image Width="15" Height="15" VerticalAlignment="Center">
|
||||||
|
<Image.Source>
|
||||||
|
<DrawingImage>
|
||||||
|
<DrawingImage.Drawing>
|
||||||
|
<DrawingGroup ClipGeometry="M0,0 V24 H24 V0 H0 Z">
|
||||||
|
<GeometryDrawing Brush="#fca5a5"
|
||||||
|
Geometry="F1 M24,24z M0,0z M20.1758,20.0951L15.1058,9.97512C15.0358,9.83512,14.9958,9.68512,14.9958,9.52512L14.9958,2.99512 15.4958,2.99512C16.0458,2.99512 16.4958,2.54512 16.4958,1.99512 16.4958,1.44512 16.0458,0.995117 15.4958,0.995117L8.49582,0.995117C7.94582,0.995117 7.49582,1.44512 7.49582,1.99512 7.49582,2.54512 7.94582,2.99512 8.49582,2.99512L8.99582,2.99512 8.99582,9.52512C8.99582,9.67512,8.95582,9.83512,8.89582,9.97512L3.82582,20.0951C3.67582,20.4051 3.59582,20.7451 3.61582,21.0851 3.62582,21.4251 3.73582,21.7651 3.91582,22.0551 4.09582,22.3451 4.34582,22.5851 4.64582,22.7551 4.94582,22.9151 5.27582,23.0051 5.60582,23.0051L18.3758,23.0051C18.7558,23.0051 19.0558,22.9251 19.3558,22.7551 19.6558,22.5851 19.9058,22.3451 20.0858,22.0551 20.2658,21.7651 20.3658,21.4351 20.3858,21.0851 20.3958,20.7451 20.3258,20.4051 20.1758,20.1051L20.1758,20.0951z M10.6858,10.8651C10.8958,10.4451,11.0058,9.98512,11.0058,9.52512L11.0058,2.99512 13.0058,2.99512 13.0058,9.52512C13.0058,9.98512,13.1158,10.4551,13.3258,10.8651L15.3858,14.9951 8.62582,14.9951 10.6958,10.8651 10.6858,10.8651z" />
|
||||||
|
</DrawingGroup>
|
||||||
|
</DrawingImage.Drawing>
|
||||||
|
</DrawingImage>
|
||||||
|
</Image.Source>
|
||||||
|
</Image>
|
||||||
|
<TextBlock Foreground="#fca5a5" Text="实验性选项" FontSize="12"
|
||||||
|
VerticalAlignment="Center">
|
||||||
|
</TextBlock>
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
|
</Border>
|
||||||
|
<ui:ToggleSwitch OnContent="" OffContent=""
|
||||||
|
Name="ToggleSwitchIsEnableAvoidFullScreenHelper"
|
||||||
|
Toggled="ToggleSwitchIsEnableAvoidFullScreenHelper_OnToggled"
|
||||||
|
IsOn="True" FontFamily="Microsoft YaHei UI" FontWeight="Bold" />
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
|
<TextBlock TextWrapping="Wrap" Foreground="#a1a1aa"
|
||||||
|
Text="# 避免画布全屏,重启icc后生效。" />
|
||||||
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||||
|
|
||||||
<TextBlock Foreground="#fafafa" Text="启用EdgeGestureUtil"
|
<TextBlock Foreground="#fafafa" Text="启用EdgeGestureUtil"
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
FontSize="14" Margin="0,0,6,0" />
|
FontSize="14" Margin="0,0,6,0" />
|
||||||
@@ -1690,7 +1873,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=""
|
||||||
@@ -1714,7 +1897,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"
|
||||||
@@ -1768,7 +1951,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="浏览"
|
||||||
@@ -1837,6 +2021,15 @@
|
|||||||
FontWeight="Bold"
|
FontWeight="Bold"
|
||||||
Toggled="ToggleSwitchDisplayRandWindowNamesInputBtn_OnToggled" />
|
Toggled="ToggleSwitchDisplayRandWindowNamesInputBtn_OnToggled" />
|
||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||||
|
<TextBlock Foreground="#fafafa" Text="启用随机抽和单次抽按钮"
|
||||||
|
VerticalAlignment="Center" FontSize="14" Margin="0,0,16,0" />
|
||||||
|
<ui:ToggleSwitch OnContent="" OffContent=""
|
||||||
|
Name="ToggleSwitchShowRandomAndSingleDraw"
|
||||||
|
IsOn="True" FontFamily="Microsoft YaHei UI"
|
||||||
|
FontWeight="Bold"
|
||||||
|
Toggled="ToggleSwitchShowRandomAndSingleDraw_Toggled" />
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
<Line HorizontalAlignment="Center" X1="0" Y1="0" X2="400" Y2="0"
|
<Line HorizontalAlignment="Center" X1="0" Y1="0" X2="400" Y2="0"
|
||||||
Stroke="#3f3f46" StrokeThickness="1" Margin="0,4,0,4" />
|
Stroke="#3f3f46" StrokeThickness="1" Margin="0,4,0,4" />
|
||||||
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||||
@@ -2253,7 +2446,7 @@
|
|||||||
<Grid Name="GridTransparencyFakeBackground" Opacity="0" />
|
<Grid Name="GridTransparencyFakeBackground" Opacity="0" />
|
||||||
<Label Name="Label" Visibility="Collapsed" Foreground="Gray" Content="0" />
|
<Label Name="Label" Visibility="Collapsed" Foreground="Gray" Content="0" />
|
||||||
<Grid Name="InkCanvasGridForInkReplay">
|
<Grid Name="InkCanvasGridForInkReplay">
|
||||||
<InkCanvas x:Name="inkCanvas" ForceCursor="False"
|
<InkCanvas x:Name="inkCanvas" ForceCursor="True" UseCustomCursor="True"
|
||||||
TouchUp="Main_Grid_TouchUp" TouchDown="Main_Grid_TouchDown"
|
TouchUp="Main_Grid_TouchUp" TouchDown="Main_Grid_TouchDown"
|
||||||
TouchMove="inkCanvas_TouchMove"
|
TouchMove="inkCanvas_TouchMove"
|
||||||
ManipulationDelta="Main_Grid_ManipulationDelta"
|
ManipulationDelta="Main_Grid_ManipulationDelta"
|
||||||
@@ -4258,7 +4451,7 @@
|
|||||||
<Label Content="计时器" FontSize="8"
|
<Label Content="计时器" FontSize="8"
|
||||||
HorizontalAlignment="Center" />
|
HorizontalAlignment="Center" />
|
||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
<ui:SimpleStackPanel MouseDown="Border_MouseDown"
|
<ui:SimpleStackPanel x:Name="RandomDrawPanel" Visibility="Collapsed" MouseDown="Border_MouseDown"
|
||||||
MouseUp="SymbolIconRand_MouseUp"
|
MouseUp="SymbolIconRand_MouseUp"
|
||||||
Margin="0,0,0,0" Height="38" Width="32"
|
Margin="0,0,0,0" Height="38" Width="32"
|
||||||
Orientation="Vertical">
|
Orientation="Vertical">
|
||||||
@@ -4278,7 +4471,7 @@
|
|||||||
<Label Content="随机抽" FontSize="8"
|
<Label Content="随机抽" FontSize="8"
|
||||||
HorizontalAlignment="Center" />
|
HorizontalAlignment="Center" />
|
||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
<ui:SimpleStackPanel MouseDown="Border_MouseDown"
|
<ui:SimpleStackPanel x:Name="SingleDrawPanel" Visibility="Collapsed" MouseDown="Border_MouseDown"
|
||||||
MouseUp="SymbolIconRandOne_MouseUp"
|
MouseUp="SymbolIconRandOne_MouseUp"
|
||||||
Margin="0,0,0,0" Height="38" Width="32"
|
Margin="0,0,0,0" Height="38" Width="32"
|
||||||
Orientation="Vertical">
|
Orientation="Vertical">
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ using System.Drawing;
|
|||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Microsoft.Win32;
|
using Microsoft.Win32;
|
||||||
|
using System.Windows.Input;
|
||||||
|
|
||||||
namespace Ink_Canvas {
|
namespace Ink_Canvas {
|
||||||
public partial class MainWindow : Window {
|
public partial class MainWindow : Window {
|
||||||
@@ -47,8 +48,11 @@ namespace Ink_Canvas {
|
|||||||
|
|
||||||
ViewBoxStackPanelMain.Visibility = Visibility.Collapsed;
|
ViewBoxStackPanelMain.Visibility = Visibility.Collapsed;
|
||||||
ViewBoxStackPanelShapes.Visibility = Visibility.Collapsed;
|
ViewBoxStackPanelShapes.Visibility = Visibility.Collapsed;
|
||||||
ViewboxFloatingBar.Margin = new Thickness((SystemParameters.WorkArea.Width - 284) / 2,
|
var workingArea = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea;
|
||||||
SystemParameters.WorkArea.Height - 60, -2000, -200);
|
ViewboxFloatingBar.Margin = new Thickness(
|
||||||
|
(workingArea.Width - 284) / 2,
|
||||||
|
workingArea.Bottom - 60 - workingArea.Top,
|
||||||
|
-2000, -200);
|
||||||
ViewboxFloatingBarMarginAnimation(100, true);
|
ViewboxFloatingBarMarginAnimation(100, true);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -95,6 +99,12 @@ namespace Ink_Canvas {
|
|||||||
|
|
||||||
CheckColorTheme(true);
|
CheckColorTheme(true);
|
||||||
CheckPenTypeUIState();
|
CheckPenTypeUIState();
|
||||||
|
|
||||||
|
// 注册输入事件
|
||||||
|
inkCanvas.PreviewMouseDown += inkCanvas_PreviewMouseDown;
|
||||||
|
inkCanvas.StylusDown += inkCanvas_StylusDown;
|
||||||
|
inkCanvas.TouchDown += inkCanvas_TouchDown;
|
||||||
|
inkCanvas.TouchUp += inkCanvas_TouchUp;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@@ -144,12 +154,26 @@ namespace Ink_Canvas {
|
|||||||
private void inkCanvas_EditingModeChanged(object sender, RoutedEventArgs e) {
|
private void inkCanvas_EditingModeChanged(object sender, RoutedEventArgs e) {
|
||||||
var inkCanvas1 = sender as InkCanvas;
|
var inkCanvas1 = sender as InkCanvas;
|
||||||
if (inkCanvas1 == null) return;
|
if (inkCanvas1 == null) return;
|
||||||
|
// 修复"显示画笔光标"选项不可用的问题
|
||||||
if (Settings.Canvas.IsShowCursor) {
|
if (Settings.Canvas.IsShowCursor) {
|
||||||
if (inkCanvas1.EditingMode == InkCanvasEditingMode.Ink || drawingShapeMode != 0)
|
inkCanvas1.UseCustomCursor = true;
|
||||||
inkCanvas1.ForceCursor = true;
|
// 修复触屏和数位笔时光标不显示:强制显示光标,不再依赖鼠标或触控状态
|
||||||
else
|
inkCanvas1.ForceCursor = true;
|
||||||
inkCanvas1.ForceCursor = false;
|
|
||||||
|
// 根据编辑模式设置不同的光标
|
||||||
|
if (inkCanvas1.EditingMode == InkCanvasEditingMode.EraseByPoint) {
|
||||||
|
var sri = Application.GetResourceStream(new Uri("Resources/Cursors/Eraser.cur", UriKind.Relative));
|
||||||
|
if (sri != null)
|
||||||
|
inkCanvas1.Cursor = new Cursor(sri.Stream);
|
||||||
|
} else if (inkCanvas1.EditingMode == InkCanvasEditingMode.Ink) {
|
||||||
|
var sri = Application.GetResourceStream(new Uri("Resources/Cursors/Pen.cur", UriKind.Relative));
|
||||||
|
if (sri != null)
|
||||||
|
inkCanvas1.Cursor = new Cursor(sri.Stream);
|
||||||
|
} else if (inkCanvas1.EditingMode == InkCanvasEditingMode.Select) {
|
||||||
|
inkCanvas1.Cursor = Cursors.Cross;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
|
inkCanvas1.UseCustomCursor = false;
|
||||||
inkCanvas1.ForceCursor = false;
|
inkCanvas1.ForceCursor = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -199,6 +223,17 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SystemEvents.DisplaySettingsChanged += SystemEventsOnDisplaySettingsChanged;
|
SystemEvents.DisplaySettingsChanged += SystemEventsOnDisplaySettingsChanged;
|
||||||
|
// 自动收纳到侧边栏
|
||||||
|
if (Settings.Startup.IsFoldAtStartup)
|
||||||
|
{
|
||||||
|
FoldFloatingBar_MouseUp(null, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 恢复崩溃后操作设置
|
||||||
|
if (App.CrashAction == App.CrashActionType.SilentRestart)
|
||||||
|
RadioCrashSilentRestart.IsChecked = true;
|
||||||
|
else
|
||||||
|
RadioCrashNoAction.IsChecked = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SystemEventsOnDisplaySettingsChanged(object sender, EventArgs e) {
|
private void SystemEventsOnDisplaySettingsChanged(object sender, EventArgs e) {
|
||||||
@@ -277,6 +312,7 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void Window_Closed(object sender, EventArgs e) {
|
private void Window_Closed(object sender, EventArgs e) {
|
||||||
SystemEvents.DisplaySettingsChanged -= SystemEventsOnDisplaySettingsChanged;
|
SystemEvents.DisplaySettingsChanged -= SystemEventsOnDisplaySettingsChanged;
|
||||||
|
|
||||||
@@ -305,6 +341,68 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 新增:崩溃后操作设置按钮事件
|
||||||
|
private void RadioCrashAction_Checked(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
if (RadioCrashSilentRestart != null && RadioCrashSilentRestart.IsChecked == true)
|
||||||
|
{
|
||||||
|
App.CrashAction = App.CrashActionType.SilentRestart;
|
||||||
|
}
|
||||||
|
else if (RadioCrashNoAction != null && RadioCrashNoAction.IsChecked == true)
|
||||||
|
{
|
||||||
|
App.CrashAction = App.CrashActionType.NoAction;
|
||||||
|
}
|
||||||
|
SaveSettingsToFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 鼠标输入
|
||||||
|
private void inkCanvas_PreviewMouseDown(object sender, MouseButtonEventArgs e)
|
||||||
|
{
|
||||||
|
inkCanvas.Cursor = Cursors.Arrow;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 手写笔输入
|
||||||
|
private void inkCanvas_StylusDown(object sender, StylusDownEventArgs e)
|
||||||
|
{
|
||||||
|
var sri = Application.GetResourceStream(new Uri("Resources/Cursors/Pen.cur", UriKind.Relative));
|
||||||
|
if (sri != null)
|
||||||
|
inkCanvas.Cursor = new Cursor(sri.Stream);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 触摸输入,不隐藏光标
|
||||||
|
private void inkCanvas_TouchDown(object sender, TouchEventArgs e)
|
||||||
|
{
|
||||||
|
// 修改:根据用户设置决定是否强制显示自定义光标
|
||||||
|
if (Settings.Canvas.IsShowCursor)
|
||||||
|
{
|
||||||
|
inkCanvas.ForceCursor = true;
|
||||||
|
// 确保鼠标光标对触摸可见
|
||||||
|
System.Windows.Forms.Cursor.Show();
|
||||||
|
// 新增:当处于套索选择模式时保持光标可见
|
||||||
|
if (inkCanvas.EditingMode == InkCanvasEditingMode.Select)
|
||||||
|
inkCanvas.Cursor = Cursors.Cross;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
inkCanvas.ForceCursor = false;
|
||||||
|
System.Windows.Forms.Cursor.Show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 触摸结束,恢复光标
|
||||||
|
private void inkCanvas_TouchUp(object sender, TouchEventArgs e)
|
||||||
|
{
|
||||||
|
// 修改:根据当前模式和设置恢复光标状态
|
||||||
|
if (Settings.Canvas.IsShowCursor) {
|
||||||
|
inkCanvas.ForceCursor = true;
|
||||||
|
// 确保鼠标光标对触摸可见
|
||||||
|
System.Windows.Forms.Cursor.Show();
|
||||||
|
} else {
|
||||||
|
inkCanvas.ForceCursor = false;
|
||||||
|
System.Windows.Forms.Cursor.Show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endregion Definations and Loading
|
#endregion Definations and Loading
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -54,7 +54,7 @@ namespace Ink_Canvas {
|
|||||||
|
|
||||||
// FloatingBarIcons_MouseUp_New(sender);
|
// FloatingBarIcons_MouseUp_New(sender);
|
||||||
if (sender == null)
|
if (sender == null)
|
||||||
foldFloatingBarByUser = false;
|
foldFloatingBarByUser = true;
|
||||||
else
|
else
|
||||||
foldFloatingBarByUser = true;
|
foldFloatingBarByUser = true;
|
||||||
unfoldFloatingBarByUser = false;
|
unfoldFloatingBarByUser = false;
|
||||||
|
|||||||
@@ -107,6 +107,7 @@ namespace Ink_Canvas {
|
|||||||
if (Settings.Automation.IsAutoSaveStrokesAtClear &&
|
if (Settings.Automation.IsAutoSaveStrokesAtClear &&
|
||||||
inkCanvas.Strokes.Count > Settings.Automation.MinimumAutomationStrokeNumber) SaveScreenShot(true);
|
inkCanvas.Strokes.Count > Settings.Automation.MinimumAutomationStrokeNumber) SaveScreenShot(true);
|
||||||
if (CurrentWhiteboardIndex >= WhiteboardTotalCount) {
|
if (CurrentWhiteboardIndex >= WhiteboardTotalCount) {
|
||||||
|
// 在最后一页时,点击“新页面”按钮直接新增一页
|
||||||
BtnWhiteBoardAdd_Click(sender, e);
|
BtnWhiteBoardAdd_Click(sender, e);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -166,64 +167,35 @@ namespace Ink_Canvas {
|
|||||||
TextBlockWhiteBoardIndexInfo.Text =
|
TextBlockWhiteBoardIndexInfo.Text =
|
||||||
$"{CurrentWhiteboardIndex}/{WhiteboardTotalCount}";
|
$"{CurrentWhiteboardIndex}/{WhiteboardTotalCount}";
|
||||||
|
|
||||||
if (CurrentWhiteboardIndex == WhiteboardTotalCount) {
|
bool isLastPage = CurrentWhiteboardIndex == WhiteboardTotalCount;
|
||||||
var newImageSource = new BitmapImage();
|
bool isMaxPage = WhiteboardTotalCount >= 99;
|
||||||
newImageSource.BeginInit();
|
|
||||||
newImageSource.UriSource = new Uri("/Resources/Icons-Fluent/ic_fluent_add_circle_24_regular.png",
|
// 设置按钮文本
|
||||||
UriKind.RelativeOrAbsolute);
|
BtnLeftWhiteBoardSwitchNextLabel.Text = isLastPage ? "新页面" : "下一页";
|
||||||
newImageSource.EndInit();
|
BtnRightWhiteBoardSwitchNextLabel.Text = isLastPage ? "新页面" : "下一页";
|
||||||
//BoardLeftPannelNextPage.Source = newImageSource;
|
|
||||||
//BoardRightPannelNextPage.Source = newImageSource;
|
// 始终允许点击“下一页/新页面”按钮(除非已达最大页数)
|
||||||
//BoardRightPannelNextPageTextBlock.Text = "加页";
|
BtnWhiteBoardSwitchNext.IsEnabled = !isMaxPage;
|
||||||
//BoardLeftPannelNextPageTextBlock.Text = "加页";
|
|
||||||
} else {
|
// 保持按钮常亮(高亮)
|
||||||
var newImageSource = new BitmapImage();
|
BtnLeftWhiteBoardSwitchNextGeometry.Brush = new SolidColorBrush(Color.FromArgb(255, 24, 24, 27));
|
||||||
newImageSource.BeginInit();
|
BtnLeftWhiteBoardSwitchNextLabel.Opacity = 1;
|
||||||
newImageSource.UriSource =
|
BtnRightWhiteBoardSwitchNextGeometry.Brush = new SolidColorBrush(Color.FromArgb(255, 24, 24, 27));
|
||||||
new Uri("/Resources/Icons-Fluent/ic_fluent_arrow_circle_right_24_regular.png",
|
BtnRightWhiteBoardSwitchNextLabel.Opacity = 1;
|
||||||
UriKind.RelativeOrAbsolute);
|
|
||||||
newImageSource.EndInit();
|
|
||||||
//BoardLeftPannelNextPage.Source = newImageSource;
|
|
||||||
//BoardRightPannelNextPage.Source = newImageSource;
|
|
||||||
//BoardRightPannelNextPageTextBlock.Text = "下一页";
|
|
||||||
//BoardLeftPannelNextPageTextBlock.Text = "下一页";
|
|
||||||
}
|
|
||||||
|
|
||||||
BtnWhiteBoardSwitchPrevious.IsEnabled = true;
|
BtnWhiteBoardSwitchPrevious.IsEnabled = true;
|
||||||
BtnWhiteBoardSwitchNext.IsEnabled = true;
|
|
||||||
|
|
||||||
if (CurrentWhiteboardIndex == 1) {
|
if (CurrentWhiteboardIndex == 1) {
|
||||||
BtnWhiteBoardSwitchPrevious.IsEnabled = false;
|
BtnWhiteBoardSwitchPrevious.IsEnabled = false;
|
||||||
BtnLeftWhiteBoardSwitchPreviousGeometry.Brush = new SolidColorBrush(Color.FromArgb(127, 24, 24, 27));
|
BtnLeftWhiteBoardSwitchPreviousGeometry.Brush = new SolidColorBrush(Color.FromArgb(127, 24, 24, 27));
|
||||||
BtnLeftWhiteBoardSwitchPreviousLabel.Opacity = 0.5;
|
BtnLeftWhiteBoardSwitchPreviousLabel.Opacity = 0.5;
|
||||||
BtnLeftWhiteBoardSwitchNextGeometry.Brush = new SolidColorBrush(Color.FromArgb(255, 24, 24, 27));
|
|
||||||
BtnLeftWhiteBoardSwitchNextLabel.Opacity = 1;
|
|
||||||
|
|
||||||
BtnRightWhiteBoardSwitchPreviousGeometry.Brush = new SolidColorBrush(Color.FromArgb(127, 24, 24, 27));
|
BtnRightWhiteBoardSwitchPreviousGeometry.Brush = new SolidColorBrush(Color.FromArgb(127, 24, 24, 27));
|
||||||
BtnRightWhiteBoardSwitchPreviousLabel.Opacity = 0.5;
|
BtnRightWhiteBoardSwitchPreviousLabel.Opacity = 0.5;
|
||||||
BtnRightWhiteBoardSwitchNextGeometry.Brush = new SolidColorBrush(Color.FromArgb(255, 24, 24, 27));
|
|
||||||
BtnRightWhiteBoardSwitchNextLabel.Opacity = 1;
|
|
||||||
} else {
|
} else {
|
||||||
BtnLeftWhiteBoardSwitchPreviousGeometry.Brush = new SolidColorBrush(Color.FromArgb(255, 24, 24, 27));
|
BtnLeftWhiteBoardSwitchPreviousGeometry.Brush = new SolidColorBrush(Color.FromArgb(255, 24, 24, 27));
|
||||||
BtnLeftWhiteBoardSwitchPreviousLabel.Opacity = 1;
|
BtnLeftWhiteBoardSwitchPreviousLabel.Opacity = 1;
|
||||||
|
|
||||||
BtnRightWhiteBoardSwitchPreviousGeometry.Brush = new SolidColorBrush(Color.FromArgb(255, 24, 24, 27));
|
BtnRightWhiteBoardSwitchPreviousGeometry.Brush = new SolidColorBrush(Color.FromArgb(255, 24, 24, 27));
|
||||||
BtnRightWhiteBoardSwitchPreviousLabel.Opacity = 1;
|
BtnRightWhiteBoardSwitchPreviousLabel.Opacity = 1;
|
||||||
|
|
||||||
if (CurrentWhiteboardIndex == WhiteboardTotalCount) {
|
|
||||||
BtnLeftWhiteBoardSwitchNextGeometry.Brush = new SolidColorBrush(Color.FromArgb(127, 24, 24, 27));
|
|
||||||
BtnLeftWhiteBoardSwitchNextLabel.Opacity = 0.5;
|
|
||||||
|
|
||||||
BtnRightWhiteBoardSwitchNextGeometry.Brush = new SolidColorBrush(Color.FromArgb(127, 24, 24, 27));
|
|
||||||
BtnRightWhiteBoardSwitchNextLabel.Opacity = 0.5;
|
|
||||||
BtnWhiteBoardSwitchNext.IsEnabled = false;
|
|
||||||
} else {
|
|
||||||
BtnLeftWhiteBoardSwitchNextGeometry.Brush = new SolidColorBrush(Color.FromArgb(255, 24, 24, 27));
|
|
||||||
BtnLeftWhiteBoardSwitchNextLabel.Opacity = 1;
|
|
||||||
|
|
||||||
BtnRightWhiteBoardSwitchNextGeometry.Brush = new SolidColorBrush(Color.FromArgb(255, 24, 24, 27));
|
|
||||||
BtnRightWhiteBoardSwitchNextLabel.Opacity = 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BtnWhiteBoardDelete.IsEnabled = WhiteboardTotalCount != 1;
|
BtnWhiteBoardDelete.IsEnabled = WhiteboardTotalCount != 1;
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ namespace Ink_Canvas {
|
|||||||
#region “手勢”按鈕
|
#region “手勢”按鈕
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 用於浮動工具欄的“手勢”按鈕和白板工具欄的“手勢”按鈕的點擊事件
|
/// 用於浮動工具欄的"手勢"按鈕和白板工具欄的"手勢"按鈕的點擊事件
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void TwoFingerGestureBorder_MouseUp(object sender, RoutedEventArgs e) {
|
private void TwoFingerGestureBorder_MouseUp(object sender, RoutedEventArgs e) {
|
||||||
if (TwoFingerGestureBorder.Visibility == Visibility.Visible) {
|
if (TwoFingerGestureBorder.Visibility == Visibility.Visible) {
|
||||||
@@ -63,7 +63,7 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 用於更新浮動工具欄的“手勢”按鈕和白板工具欄的“手勢”按鈕的樣式(開啟和關閉狀態)
|
/// 用於更新浮動工具欄的"手勢"按鈕和白板工具欄的"手勢"按鈕的樣式(開啟和關閉狀態)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void CheckEnableTwoFingerGestureBtnColorPrompt() {
|
private void CheckEnableTwoFingerGestureBtnColorPrompt() {
|
||||||
if (ToggleSwitchEnableMultiTouchMode.IsOn) {
|
if (ToggleSwitchEnableMultiTouchMode.IsOn) {
|
||||||
@@ -111,7 +111,7 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 控制是否顯示浮動工具欄的“手勢”按鈕
|
/// 控制是否顯示浮動工具欄的"手勢"按鈕
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void CheckEnableTwoFingerGestureBtnVisibility(bool isVisible) {
|
private void CheckEnableTwoFingerGestureBtnVisibility(bool isVisible) {
|
||||||
if (StackPanelCanvasControls.Visibility != Visibility.Visible
|
if (StackPanelCanvasControls.Visibility != Visibility.Visible
|
||||||
@@ -128,7 +128,7 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion “手勢”按鈕
|
#endregion "手勢"按鈕
|
||||||
|
|
||||||
#region 浮動工具欄的拖動實現
|
#region 浮動工具欄的拖動實現
|
||||||
|
|
||||||
@@ -217,22 +217,22 @@ namespace Ink_Canvas {
|
|||||||
/// </para>
|
/// </para>
|
||||||
/// <list type="number">
|
/// <list type="number">
|
||||||
/// <item>
|
/// <item>
|
||||||
/// 隱藏浮動工具欄和白板模式下的“更多功能”面板
|
/// 隱藏浮動工具欄和白板模式下的"更多功能"面板
|
||||||
/// </item>
|
/// </item>
|
||||||
/// <item>
|
/// <item>
|
||||||
/// 隱藏白板模式下和浮動工具欄的畫筆調色盤
|
/// 隱藏白板模式下和浮動工具欄的畫筆調色盤
|
||||||
/// </item>
|
/// </item>
|
||||||
/// <item>
|
/// <item>
|
||||||
/// 隱藏白板模式下的“清屏”按鈕(已作廢)
|
/// 隱藏白板模式下的"清屏"按鈕(已作廢)
|
||||||
/// </item>
|
/// </item>
|
||||||
/// <item>
|
/// <item>
|
||||||
/// 負責給Settings設置面板做隱藏動畫
|
/// 負責給Settings設置面板做隱藏動畫
|
||||||
/// </item>
|
/// </item>
|
||||||
/// <item>
|
/// <item>
|
||||||
/// 隱藏白板模式下和浮動工具欄的“手勢”面板
|
/// 隱藏白板模式下和浮動工具欄的"手勢"面板
|
||||||
/// </item>
|
/// </item>
|
||||||
/// <item>
|
/// <item>
|
||||||
/// 當<c>ToggleSwitchDrawShapeBorderAutoHide</c>開啟時,會自動隱藏白板模式下和浮動工具欄的“形狀”面板
|
/// 當<c>ToggleSwitchDrawShapeBorderAutoHide</c>開啟時,會自動隱藏白板模式下和浮動工具欄的"形狀"面板
|
||||||
/// </item>
|
/// </item>
|
||||||
/// <item>
|
/// <item>
|
||||||
/// 按需高亮指定的浮動工具欄和白板工具欄中的按鈕,通過param:<paramref name="mode"/> 來指定
|
/// 按需高亮指定的浮動工具欄和白板工具欄中的按鈕,通過param:<paramref name="mode"/> 來指定
|
||||||
@@ -254,16 +254,16 @@ namespace Ink_Canvas {
|
|||||||
/// 當<c><paramref name="mode"/>!="clear"</c>時,會先取消高亮所有工具欄按鈕,然後根據下面的情況進行高亮處理
|
/// 當<c><paramref name="mode"/>!="clear"</c>時,會先取消高亮所有工具欄按鈕,然後根據下面的情況進行高亮處理
|
||||||
/// </item>
|
/// </item>
|
||||||
/// <item>
|
/// <item>
|
||||||
/// 當<c><paramref name="mode"/>=="color" || <paramref name="mode"/>=="pen"</c>時,會高亮浮動工具欄和白板工具欄中的“批註”,“筆”按鈕
|
/// 當<c><paramref name="mode"/>=="color" || <paramref name="mode"/>=="pen"</c>時,會高亮浮動工具欄和白板工具欄中的"批註","筆"按鈕
|
||||||
/// </item>
|
/// </item>
|
||||||
/// <item>
|
/// <item>
|
||||||
/// 當<c><paramref name="mode"/>=="eraser"</c>時,會高亮白板工具欄中的“橡皮”和浮動工具欄中的“面積擦”按鈕
|
/// 當<c><paramref name="mode"/>=="eraser"</c>時,會高亮白板工具欄中的"橡皮"和浮動工具欄中的"面積擦"按鈕
|
||||||
/// </item>
|
/// </item>
|
||||||
/// <item>
|
/// <item>
|
||||||
/// 當<c><paramref name="mode"/>=="eraserByStrokes"</c>時,會高亮白板工具欄中的“橡皮”和浮動工具欄中的“墨跡擦”按鈕
|
/// 當<c><paramref name="mode"/>=="eraserByStrokes"</c>時,會高亮白板工具欄中的"橡皮"和浮動工具欄中的"墨跡擦"按鈕
|
||||||
/// </item>
|
/// </item>
|
||||||
/// <item>
|
/// <item>
|
||||||
/// 當<c><paramref name="mode"/>=="select"</c>時,會高亮浮動工具欄和白板工具欄中的“選擇”,“套索選”按鈕
|
/// 當<c><paramref name="mode"/>=="select"</c>時,會高亮浮動工具欄和白板工具欄中的"選擇","套索選"按鈕
|
||||||
/// </item>
|
/// </item>
|
||||||
/// </list>
|
/// </list>
|
||||||
/// </param>
|
/// </param>
|
||||||
@@ -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);
|
||||||
@@ -664,7 +677,7 @@ namespace Ink_Canvas {
|
|||||||
#region 主要的工具按鈕事件
|
#region 主要的工具按鈕事件
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 浮動工具欄的“套索選”按鈕事件,重定向到舊UI的<c>BtnSelect_Click</c>方法
|
/// 浮動工具欄的"套索選"按鈕事件,重定向到舊UI的<c>BtnSelect_Click</c>方法
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">sender</param>
|
/// <param name="sender">sender</param>
|
||||||
/// <param name="e">MouseButtonEventArgs</param>
|
/// <param name="e">MouseButtonEventArgs</param>
|
||||||
@@ -727,9 +740,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void SymbolIconRand_MouseUp(object sender, MouseButtonEventArgs e) {
|
private void SymbolIconRand_MouseUp(object sender, MouseButtonEventArgs e) {
|
||||||
|
// 如果控件被隐藏,不处理事件
|
||||||
|
if (RandomDrawPanel.Visibility != Visibility.Visible) return;
|
||||||
|
|
||||||
LeftUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
|
LeftUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
|
||||||
RightUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
|
RightUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
|
||||||
if (lastBorderMouseDownObject != sender) return;
|
|
||||||
|
|
||||||
AnimationsHelper.HideWithSlideAndFade(BorderTools);
|
AnimationsHelper.HideWithSlideAndFade(BorderTools);
|
||||||
AnimationsHelper.HideWithSlideAndFade(BoardBorderTools);
|
AnimationsHelper.HideWithSlideAndFade(BoardBorderTools);
|
||||||
@@ -795,18 +810,20 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void SymbolIconRandOne_MouseUp(object sender, MouseButtonEventArgs e) {
|
private void SymbolIconRandOne_MouseUp(object sender, MouseButtonEventArgs e) {
|
||||||
|
// 如果控件被隐藏,不处理事件
|
||||||
|
if (SingleDrawPanel.Visibility != Visibility.Visible) return;
|
||||||
|
|
||||||
LeftUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
|
LeftUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
|
||||||
RightUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
|
RightUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
|
||||||
if (lastBorderMouseDownObject != sender) return;
|
|
||||||
|
|
||||||
AnimationsHelper.HideWithSlideAndFade(BorderTools);
|
AnimationsHelper.HideWithSlideAndFade(BorderTools);
|
||||||
AnimationsHelper.HideWithSlideAndFade(BoardBorderTools);
|
AnimationsHelper.HideWithSlideAndFade(BoardBorderTools);
|
||||||
|
|
||||||
new RandWindow(Settings,true).ShowDialog();
|
new RandWindow(Settings, true).ShowDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
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);
|
||||||
@@ -1061,15 +1078,38 @@ namespace Ink_Canvas {
|
|||||||
var windowHandle = new WindowInteropHelper(this).Handle;
|
var windowHandle = new WindowInteropHelper(this).Handle;
|
||||||
var screen = System.Windows.Forms.Screen.FromHandle(windowHandle);
|
var screen = System.Windows.Forms.Screen.FromHandle(windowHandle);
|
||||||
double screenWidth = screen.Bounds.Width / dpiScaleX, screenHeight = screen.Bounds.Height / dpiScaleY;
|
double screenWidth = screen.Bounds.Width / dpiScaleX, screenHeight = screen.Bounds.Height / dpiScaleY;
|
||||||
var toolbarHeight = SystemParameters.PrimaryScreenHeight - SystemParameters.FullPrimaryScreenHeight -
|
// 仅计算Windows任务栏高度,不考虑其他程序对工作区的影响
|
||||||
SystemParameters.WindowCaptionHeight;
|
var toolbarHeight = ForegroundWindowInfo.GetTaskbarHeight(screen, dpiScaleY);
|
||||||
pos.X = (screenWidth - ViewboxFloatingBar.ActualWidth * ViewboxFloatingBarScaleTransform.ScaleX) / 2;
|
pos.X = (screenWidth - ViewboxFloatingBar.ActualWidth * ViewboxFloatingBarScaleTransform.ScaleX) / 2;
|
||||||
|
|
||||||
if (PosXCaculatedWithTaskbarHeight == false)
|
if (PosXCaculatedWithTaskbarHeight == false)
|
||||||
pos.Y = screenHeight - MarginFromEdge * ViewboxFloatingBarScaleTransform.ScaleY;
|
{
|
||||||
|
// 如果任务栏高度为0(隐藏状态),则使用固定边距
|
||||||
|
if (toolbarHeight == 0)
|
||||||
|
{
|
||||||
|
pos.Y = screenHeight - MarginFromEdge * ViewboxFloatingBarScaleTransform.ScaleY;
|
||||||
|
LogHelper.WriteLogToFile($"任务栏隐藏,使用固定边距: {MarginFromEdge}", LogHelper.LogType.Info);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pos.Y = screenHeight - MarginFromEdge * ViewboxFloatingBarScaleTransform.ScaleY;
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (PosXCaculatedWithTaskbarHeight == true)
|
else if (PosXCaculatedWithTaskbarHeight == true)
|
||||||
pos.Y = screenHeight - ViewboxFloatingBar.ActualHeight * ViewboxFloatingBarScaleTransform.ScaleY -
|
{
|
||||||
toolbarHeight - ViewboxFloatingBarScaleTransform.ScaleY * 3;
|
// 如果任务栏高度为0(隐藏状态),则使用固定高度
|
||||||
|
if (toolbarHeight == 0)
|
||||||
|
{
|
||||||
|
pos.Y = screenHeight - ViewboxFloatingBar.ActualHeight * ViewboxFloatingBarScaleTransform.ScaleY -
|
||||||
|
3 * ViewboxFloatingBarScaleTransform.ScaleY;
|
||||||
|
LogHelper.WriteLogToFile($"任务栏隐藏,使用固定高度: {ViewboxFloatingBar.ActualHeight}", LogHelper.LogType.Info);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pos.Y = screenHeight - ViewboxFloatingBar.ActualHeight * ViewboxFloatingBarScaleTransform.ScaleY -
|
||||||
|
toolbarHeight - ViewboxFloatingBarScaleTransform.ScaleY * 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (MarginFromEdge != -60) {
|
if (MarginFromEdge != -60) {
|
||||||
if (BtnPPTSlideShowEnd.Visibility == Visibility.Visible) {
|
if (BtnPPTSlideShowEnd.Visibility == Visibility.Visible) {
|
||||||
@@ -1124,12 +1164,22 @@ namespace Ink_Canvas {
|
|||||||
var windowHandle = new WindowInteropHelper(this).Handle;
|
var windowHandle = new WindowInteropHelper(this).Handle;
|
||||||
var screen = System.Windows.Forms.Screen.FromHandle(windowHandle);
|
var screen = System.Windows.Forms.Screen.FromHandle(windowHandle);
|
||||||
double screenWidth = screen.Bounds.Width / dpiScaleX, screenHeight = screen.Bounds.Height / dpiScaleY;
|
double screenWidth = screen.Bounds.Width / dpiScaleX, screenHeight = screen.Bounds.Height / dpiScaleY;
|
||||||
var toolbarHeight = SystemParameters.PrimaryScreenHeight - SystemParameters.FullPrimaryScreenHeight -
|
// 仅计算Windows任务栏高度,不考虑其他程序对工作区的影响
|
||||||
SystemParameters.WindowCaptionHeight;
|
var toolbarHeight = ForegroundWindowInfo.GetTaskbarHeight(screen, dpiScaleY);
|
||||||
pos.X = (screenWidth - ViewboxFloatingBar.ActualWidth * ViewboxFloatingBarScaleTransform.ScaleX) / 2;
|
pos.X = (screenWidth - ViewboxFloatingBar.ActualWidth * ViewboxFloatingBarScaleTransform.ScaleX) / 2;
|
||||||
|
|
||||||
pos.Y = screenHeight - ViewboxFloatingBar.ActualHeight * ViewboxFloatingBarScaleTransform.ScaleY -
|
// 如果任务栏高度为0(隐藏状态),则使用固定边距
|
||||||
toolbarHeight - ViewboxFloatingBarScaleTransform.ScaleY * 3;
|
if (toolbarHeight == 0)
|
||||||
|
{
|
||||||
|
pos.Y = screenHeight - ViewboxFloatingBar.ActualHeight * ViewboxFloatingBarScaleTransform.ScaleY -
|
||||||
|
3 * ViewboxFloatingBarScaleTransform.ScaleY;
|
||||||
|
LogHelper.WriteLogToFile($"任务栏隐藏,使用固定高度: {ViewboxFloatingBar.ActualHeight}", LogHelper.LogType.Info);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pos.Y = screenHeight - ViewboxFloatingBar.ActualHeight * ViewboxFloatingBarScaleTransform.ScaleY -
|
||||||
|
toolbarHeight - ViewboxFloatingBarScaleTransform.ScaleY * 3;
|
||||||
|
}
|
||||||
|
|
||||||
if (pointDesktop.X != -1 || pointDesktop.Y != -1) pointDesktop = pos;
|
if (pointDesktop.X != -1 || pointDesktop.Y != -1) pointDesktop = pos;
|
||||||
|
|
||||||
@@ -1167,8 +1217,8 @@ namespace Ink_Canvas {
|
|||||||
var windowHandle = new WindowInteropHelper(this).Handle;
|
var windowHandle = new WindowInteropHelper(this).Handle;
|
||||||
var screen = System.Windows.Forms.Screen.FromHandle(windowHandle);
|
var screen = System.Windows.Forms.Screen.FromHandle(windowHandle);
|
||||||
double screenWidth = screen.Bounds.Width / dpiScaleX, screenHeight = screen.Bounds.Height / dpiScaleY;
|
double screenWidth = screen.Bounds.Width / dpiScaleX, screenHeight = screen.Bounds.Height / dpiScaleY;
|
||||||
var toolbarHeight = SystemParameters.PrimaryScreenHeight - SystemParameters.FullPrimaryScreenHeight -
|
// 仅计算Windows任务栏高度,不考虑其他程序对工作区的影响
|
||||||
SystemParameters.WindowCaptionHeight;
|
var toolbarHeight = ForegroundWindowInfo.GetTaskbarHeight(screen, dpiScaleY);
|
||||||
pos.X = (screenWidth - ViewboxFloatingBar.ActualWidth * ViewboxFloatingBarScaleTransform.ScaleX) / 2;
|
pos.X = (screenWidth - ViewboxFloatingBar.ActualWidth * ViewboxFloatingBarScaleTransform.ScaleX) / 2;
|
||||||
|
|
||||||
pos.Y = screenHeight - 55 * ViewboxFloatingBarScaleTransform.ScaleY;
|
pos.Y = screenHeight - 55 * ViewboxFloatingBarScaleTransform.ScaleY;
|
||||||
@@ -1564,13 +1614,15 @@ namespace Ink_Canvas {
|
|||||||
public static bool CloseIsFromButton = false;
|
public static bool CloseIsFromButton = false;
|
||||||
|
|
||||||
public void BtnExit_Click(object sender, RoutedEventArgs e) {
|
public void BtnExit_Click(object sender, RoutedEventArgs e) {
|
||||||
CloseIsFromButton = true;
|
App.IsAppExitByUser = true;
|
||||||
Close();
|
Application.Current.Shutdown();
|
||||||
|
// CloseIsFromButton = true;
|
||||||
|
// Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void BtnRestart_Click(object sender, RoutedEventArgs e) {
|
public void BtnRestart_Click(object sender, RoutedEventArgs e) {
|
||||||
Process.Start(System.Windows.Forms.Application.ExecutablePath, "-m");
|
Process.Start(System.Windows.Forms.Application.ExecutablePath, "-m");
|
||||||
|
App.IsAppExitByUser = true;
|
||||||
CloseIsFromButton = true;
|
CloseIsFromButton = true;
|
||||||
Application.Current.Shutdown();
|
Application.Current.Shutdown();
|
||||||
}
|
}
|
||||||
@@ -1891,5 +1943,8 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+504
-366
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using iNKORE.UI.WPF.Modern.Controls;
|
using iNKORE.UI.WPF.Modern.Controls;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
@@ -17,6 +17,13 @@ namespace Ink_Canvas {
|
|||||||
private object lastBorderMouseDownObject;
|
private object lastBorderMouseDownObject;
|
||||||
|
|
||||||
private void Border_MouseDown(object sender, MouseButtonEventArgs e) {
|
private void Border_MouseDown(object sender, MouseButtonEventArgs e) {
|
||||||
|
// 如果发送者是 RandomDrawPanel 或 SingleDrawPanel,且它们被隐藏,则不处理事件
|
||||||
|
if (sender is SimpleStackPanel panel) {
|
||||||
|
if ((panel == RandomDrawPanel || panel == SingleDrawPanel) &&
|
||||||
|
panel.Visibility != Visibility.Visible) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
lastBorderMouseDownObject = sender;
|
lastBorderMouseDownObject = sender;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -380,6 +387,11 @@ namespace Ink_Canvas {
|
|||||||
isProgramChangeStrokeSelection = false;
|
isProgramChangeStrokeSelection = false;
|
||||||
inkCanvas.Strokes.Add(StrokesSelectionClone);
|
inkCanvas.Strokes.Add(StrokesSelectionClone);
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
// 新增:启动套索选择模式
|
||||||
|
inkCanvas.EditingMode = InkCanvasEditingMode.Select;
|
||||||
|
inkCanvas.Select(new StrokeCollection());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
@@ -694,6 +694,62 @@ namespace Ink_Canvas {
|
|||||||
SaveSettingsToFile();
|
SaveSettingsToFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ToggleSwitchEnablePressureTouchMode_Toggled(object sender, RoutedEventArgs e) {
|
||||||
|
if (!isLoaded) return;
|
||||||
|
|
||||||
|
Settings.Canvas.EnablePressureTouchMode = ToggleSwitchEnablePressureTouchMode.IsOn;
|
||||||
|
|
||||||
|
// 如果启用了压感触屏模式,则自动关闭屏蔽压感
|
||||||
|
if (Settings.Canvas.EnablePressureTouchMode && Settings.Canvas.DisablePressure) {
|
||||||
|
Settings.Canvas.DisablePressure = false;
|
||||||
|
ToggleSwitchDisablePressure.IsOn = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
SaveSettingsToFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ToggleSwitchDisablePressure_Toggled(object sender, RoutedEventArgs e) {
|
||||||
|
if (!isLoaded) return;
|
||||||
|
|
||||||
|
Settings.Canvas.DisablePressure = ToggleSwitchDisablePressure.IsOn;
|
||||||
|
|
||||||
|
// 如果启用了屏蔽压感,则自动关闭压感触屏模式
|
||||||
|
if (Settings.Canvas.DisablePressure && Settings.Canvas.EnablePressureTouchMode) {
|
||||||
|
Settings.Canvas.EnablePressureTouchMode = false;
|
||||||
|
ToggleSwitchEnablePressureTouchMode.IsOn = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
SaveSettingsToFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ToggleSwitchAutoStraightenLine_Toggled(object sender, RoutedEventArgs e) {
|
||||||
|
if (!isLoaded) return;
|
||||||
|
|
||||||
|
Settings.Canvas.AutoStraightenLine = ToggleSwitchAutoStraightenLine.IsOn;
|
||||||
|
SaveSettingsToFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AutoStraightenLineThresholdSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) {
|
||||||
|
if (!isLoaded) return;
|
||||||
|
|
||||||
|
Settings.Canvas.AutoStraightenLineThreshold = (int)e.NewValue;
|
||||||
|
SaveSettingsToFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ToggleSwitchLineEndpointSnapping_Toggled(object sender, RoutedEventArgs e) {
|
||||||
|
if (!isLoaded) return;
|
||||||
|
|
||||||
|
Settings.Canvas.LineEndpointSnapping = ToggleSwitchLineEndpointSnapping.IsOn;
|
||||||
|
SaveSettingsToFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void LineEndpointSnappingThresholdSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) {
|
||||||
|
if (!isLoaded) return;
|
||||||
|
|
||||||
|
Settings.Canvas.LineEndpointSnappingThreshold = (int)e.NewValue;
|
||||||
|
SaveSettingsToFile();
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Canvas
|
#region Canvas
|
||||||
@@ -1218,7 +1274,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) {
|
||||||
@@ -1362,6 +1421,7 @@ namespace Ink_Canvas {
|
|||||||
Settings.Advanced.IsEnableEdgeGestureUtil = false;
|
Settings.Advanced.IsEnableEdgeGestureUtil = false;
|
||||||
Settings.Advanced.EdgeGestureUtilOnlyAffectBlackboardMode = false;
|
Settings.Advanced.EdgeGestureUtilOnlyAffectBlackboardMode = false;
|
||||||
Settings.Advanced.IsEnableFullScreenHelper = false;
|
Settings.Advanced.IsEnableFullScreenHelper = false;
|
||||||
|
Settings.Advanced.IsEnableAvoidFullScreenHelper = false;
|
||||||
Settings.Advanced.IsEnableForceFullScreen = false;
|
Settings.Advanced.IsEnableForceFullScreen = false;
|
||||||
Settings.Advanced.IsEnableDPIChangeDetection = false;
|
Settings.Advanced.IsEnableDPIChangeDetection = false;
|
||||||
Settings.Advanced.IsEnableResolutionChangeDetection = false;
|
Settings.Advanced.IsEnableResolutionChangeDetection = false;
|
||||||
@@ -1408,7 +1468,7 @@ namespace Ink_Canvas {
|
|||||||
Settings.Automation.IsAutoKillVComYouJiao = false;
|
Settings.Automation.IsAutoKillVComYouJiao = false;
|
||||||
Settings.Automation.IsAutoKillInkCanvas = false;
|
Settings.Automation.IsAutoKillInkCanvas = false;
|
||||||
Settings.Automation.IsAutoKillICA = false;
|
Settings.Automation.IsAutoKillICA = false;
|
||||||
Settings.Automation.IsAutoKillIDT = true;
|
Settings.Automation.IsAutoKillIDT = false;
|
||||||
Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation = false;
|
Settings.Automation.IsAutoKillSeewoLauncher2DesktopAnnotation = false;
|
||||||
Settings.Automation.IsSaveScreenshotsInDateFolders = false;
|
Settings.Automation.IsSaveScreenshotsInDateFolders = false;
|
||||||
Settings.Automation.IsAutoSaveStrokesAtScreenshot = true;
|
Settings.Automation.IsAutoSaveStrokesAtScreenshot = true;
|
||||||
@@ -1443,6 +1503,12 @@ namespace Ink_Canvas {
|
|||||||
Settings.Canvas.HideStrokeWhenSelecting = false;
|
Settings.Canvas.HideStrokeWhenSelecting = false;
|
||||||
Settings.Canvas.ClearCanvasAndClearTimeMachine = false;
|
Settings.Canvas.ClearCanvasAndClearTimeMachine = false;
|
||||||
Settings.Canvas.FitToCurve = true;
|
Settings.Canvas.FitToCurve = true;
|
||||||
|
Settings.Canvas.EnablePressureTouchMode = false;
|
||||||
|
Settings.Canvas.DisablePressure = false;
|
||||||
|
Settings.Canvas.AutoStraightenLine = true;
|
||||||
|
Settings.Canvas.AutoStraightenLineThreshold = 30;
|
||||||
|
Settings.Canvas.LineEndpointSnapping = true;
|
||||||
|
Settings.Canvas.LineEndpointSnappingThreshold = 15;
|
||||||
Settings.Canvas.UsingWhiteboard = false;
|
Settings.Canvas.UsingWhiteboard = false;
|
||||||
Settings.Canvas.HyperbolaAsymptoteOption = 0;
|
Settings.Canvas.HyperbolaAsymptoteOption = 0;
|
||||||
|
|
||||||
@@ -1573,6 +1639,20 @@ namespace Ink_Canvas {
|
|||||||
SaveSettingsToFile();
|
SaveSettingsToFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ToggleSwitchIsEnableAvoidFullScreenHelper_OnToggled(object sender, RoutedEventArgs e) {
|
||||||
|
if (!isLoaded) return;
|
||||||
|
Settings.Advanced.IsEnableAvoidFullScreenHelper = ToggleSwitchIsEnableAvoidFullScreenHelper.IsOn;
|
||||||
|
SaveSettingsToFile();
|
||||||
|
if (ToggleSwitchIsEnableAvoidFullScreenHelper.IsOn)
|
||||||
|
{
|
||||||
|
AvoidFullScreenHelper.StartAvoidFullScreen(this);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
AvoidFullScreenHelper.StopAvoidFullScreen(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void ToggleSwitchIsEnableEdgeGestureUtil_Toggled(object sender, RoutedEventArgs e) {
|
private void ToggleSwitchIsEnableEdgeGestureUtil_Toggled(object sender, RoutedEventArgs e) {
|
||||||
if (!isLoaded) return;
|
if (!isLoaded) return;
|
||||||
Settings.Advanced.IsEnableEdgeGestureUtil = ToggleSwitchIsEnableEdgeGestureUtil.IsOn;
|
Settings.Advanced.IsEnableEdgeGestureUtil = ToggleSwitchIsEnableEdgeGestureUtil.IsOn;
|
||||||
@@ -1672,6 +1752,21 @@ namespace Ink_Canvas {
|
|||||||
SaveSettingsToFile();
|
SaveSettingsToFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ToggleSwitchShowRandomAndSingleDraw_Toggled(object sender, RoutedEventArgs e) {
|
||||||
|
if (!isLoaded) return;
|
||||||
|
|
||||||
|
// 获取开关状态并保存到设置中
|
||||||
|
bool isToggled = ToggleSwitchShowRandomAndSingleDraw.IsOn;
|
||||||
|
Settings.RandSettings.ShowRandomAndSingleDraw = isToggled;
|
||||||
|
|
||||||
|
// 更新UI显示
|
||||||
|
RandomDrawPanel.Visibility = isToggled ? Visibility.Visible : Visibility.Collapsed;
|
||||||
|
SingleDrawPanel.Visibility = isToggled ? Visibility.Visible : Visibility.Collapsed;
|
||||||
|
|
||||||
|
// 保存设置到文件
|
||||||
|
SaveSettingsToFile();
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public static void SaveSettingsToFile() {
|
public static void SaveSettingsToFile() {
|
||||||
|
|||||||
@@ -434,6 +434,12 @@ namespace Ink_Canvas {
|
|||||||
inkCanvas.ForceCursor = false;
|
inkCanvas.ForceCursor = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 初始化压感触屏模式开关状态
|
||||||
|
ToggleSwitchEnablePressureTouchMode.IsOn = Settings.Canvas.EnablePressureTouchMode;
|
||||||
|
|
||||||
|
// 初始化屏蔽压感开关状态
|
||||||
|
ToggleSwitchDisablePressure.IsOn = Settings.Canvas.DisablePressure;
|
||||||
|
|
||||||
ComboBoxPenStyle.SelectedIndex = Settings.Canvas.InkStyle;
|
ComboBoxPenStyle.SelectedIndex = Settings.Canvas.InkStyle;
|
||||||
BoardComboBoxPenStyle.SelectedIndex = Settings.Canvas.InkStyle;
|
BoardComboBoxPenStyle.SelectedIndex = Settings.Canvas.InkStyle;
|
||||||
|
|
||||||
@@ -500,6 +506,14 @@ namespace Ink_Canvas {
|
|||||||
ToggleSwitchFitToCurve.IsOn = false;
|
ToggleSwitchFitToCurve.IsOn = false;
|
||||||
drawingAttributes.FitToCurve = false;
|
drawingAttributes.FitToCurve = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 初始化直线自动拉直相关设置
|
||||||
|
ToggleSwitchAutoStraightenLine.IsOn = Settings.Canvas.AutoStraightenLine;
|
||||||
|
AutoStraightenLineThresholdSlider.Value = Settings.Canvas.AutoStraightenLineThreshold;
|
||||||
|
|
||||||
|
// 初始化直线端点吸附相关设置
|
||||||
|
ToggleSwitchLineEndpointSnapping.IsOn = Settings.Canvas.LineEndpointSnapping;
|
||||||
|
LineEndpointSnappingThresholdSlider.Value = Settings.Canvas.LineEndpointSnappingThreshold;
|
||||||
} else {
|
} else {
|
||||||
Settings.Canvas = new Canvas();
|
Settings.Canvas = new Canvas();
|
||||||
}
|
}
|
||||||
@@ -527,6 +541,12 @@ namespace Ink_Canvas {
|
|||||||
FullScreenHelper.MarkFullscreenWindowTaskbarList(new WindowInteropHelper(this).Handle, true);
|
FullScreenHelper.MarkFullscreenWindowTaskbarList(new WindowInteropHelper(this).Handle, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ToggleSwitchIsEnableAvoidFullScreenHelper.IsOn = Settings.Advanced.IsEnableAvoidFullScreenHelper;
|
||||||
|
if (Settings.Advanced.IsEnableAvoidFullScreenHelper)
|
||||||
|
{
|
||||||
|
AvoidFullScreenHelper.StartAvoidFullScreen(this);
|
||||||
|
}
|
||||||
|
|
||||||
ToggleSwitchIsEnableEdgeGestureUtil.IsOn = Settings.Advanced.IsEnableEdgeGestureUtil;
|
ToggleSwitchIsEnableEdgeGestureUtil.IsOn = Settings.Advanced.IsEnableEdgeGestureUtil;
|
||||||
if (Settings.Advanced.IsEnableEdgeGestureUtil) {
|
if (Settings.Advanced.IsEnableEdgeGestureUtil) {
|
||||||
if (OSVersion.GetOperatingSystem() >= OperatingSystem.Windows10)
|
if (OSVersion.GetOperatingSystem() >= OperatingSystem.Windows10)
|
||||||
@@ -563,7 +583,14 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// RandSettings
|
// RandSettings
|
||||||
if (Settings.RandSettings != null) { } else {
|
if (Settings.RandSettings != null) {
|
||||||
|
ToggleSwitchDisplayRandWindowNamesInputBtn.IsOn = Settings.RandSettings.DisplayRandWindowNamesInputBtn;
|
||||||
|
RandWindowOnceCloseLatencySlider.Value = Settings.RandSettings.RandWindowOnceCloseLatency;
|
||||||
|
RandWindowOnceMaxStudentsSlider.Value = Settings.RandSettings.RandWindowOnceMaxStudents;
|
||||||
|
ToggleSwitchShowRandomAndSingleDraw.IsOn = Settings.RandSettings.ShowRandomAndSingleDraw;
|
||||||
|
RandomDrawPanel.Visibility = Settings.RandSettings.ShowRandomAndSingleDraw ? Visibility.Visible : Visibility.Collapsed;
|
||||||
|
SingleDrawPanel.Visibility = Settings.RandSettings.ShowRandomAndSingleDraw ? Visibility.Visible : Visibility.Collapsed;
|
||||||
|
} else {
|
||||||
Settings.RandSettings = new RandSettings();
|
Settings.RandSettings = new RandSettings();
|
||||||
ToggleSwitchDisplayRandWindowNamesInputBtn.IsOn = Settings.RandSettings.DisplayRandWindowNamesInputBtn;
|
ToggleSwitchDisplayRandWindowNamesInputBtn.IsOn = Settings.RandSettings.DisplayRandWindowNamesInputBtn;
|
||||||
RandWindowOnceCloseLatencySlider.Value = Settings.RandSettings.RandWindowOnceCloseLatency;
|
RandWindowOnceCloseLatencySlider.Value = Settings.RandSettings.RandWindowOnceCloseLatency;
|
||||||
@@ -614,6 +641,7 @@ namespace Ink_Canvas {
|
|||||||
SettingsShowCanvasAtNewSlideShowStackPanel.IsHitTestVisible = false;
|
SettingsShowCanvasAtNewSlideShowStackPanel.IsHitTestVisible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ToggleSwitchAutoFoldInPPTSlideShow.IsOn = Settings.Automation.IsAutoFoldInPPTSlideShow;
|
ToggleSwitchAutoFoldInPPTSlideShow.IsOn = Settings.Automation.IsAutoFoldInPPTSlideShow;
|
||||||
|
|
||||||
if (Settings.Automation.IsAutoKillEasiNote || Settings.Automation.IsAutoKillPptService ||
|
if (Settings.Automation.IsAutoKillEasiNote || Settings.Automation.IsAutoKillPptService ||
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ namespace Ink_Canvas {
|
|||||||
#endregion Floating Bar Control
|
#endregion Floating Bar Control
|
||||||
|
|
||||||
private int drawingShapeMode = 0;
|
private int drawingShapeMode = 0;
|
||||||
private bool isLongPressSelected = false; // 用于存是否是“选中”状态,便于后期抬笔后不做切换到笔的处理
|
private bool isLongPressSelected = false; // 用于存是否是"选中"状态,便于后期抬笔后不做切换到笔的处理
|
||||||
|
|
||||||
#region Buttons
|
#region Buttons
|
||||||
|
|
||||||
@@ -429,6 +429,8 @@ namespace Ink_Canvas {
|
|||||||
|
|
||||||
private void inkCanvas_TouchMove(object sender, TouchEventArgs e) {
|
private void inkCanvas_TouchMove(object sender, TouchEventArgs e) {
|
||||||
if (isSingleFingerDragMode) return;
|
if (isSingleFingerDragMode) return;
|
||||||
|
|
||||||
|
// 处理形状绘制模式
|
||||||
if (drawingShapeMode != 0) {
|
if (drawingShapeMode != 0) {
|
||||||
if (isLastTouchEraser) return;
|
if (isLastTouchEraser) return;
|
||||||
//EraserContainer.Background = null;
|
//EraserContainer.Background = null;
|
||||||
@@ -443,15 +445,75 @@ namespace Ink_Canvas {
|
|||||||
catch {
|
catch {
|
||||||
Trace.WriteLine("lastTempStrokeCollection failed.");
|
Trace.WriteLine("lastTempStrokeCollection failed.");
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (inkCanvas.EditingMode != InkCanvasEditingMode.None)
|
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseTouchMove(e.GetTouchPoint(inkCanvas).Position);
|
// 触摸移动时保持自定义光标显示
|
||||||
|
if (Settings.Canvas.IsShowCursor) {
|
||||||
|
inkCanvas.ForceCursor = true;
|
||||||
|
System.Windows.Forms.Cursor.Show();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (NeedUpdateIniP()) iniP = e.GetTouchPoint(inkCanvas).Position;
|
||||||
|
if (drawingShapeMode == 9 && isFirstTouchCuboid == false) MouseTouchMove(iniP);
|
||||||
|
inkCanvas.Opacity = 1;
|
||||||
|
double boundsWidth = GetTouchBoundWidth(e), eraserMultiplier = 1.0;
|
||||||
|
if (!Settings.Advanced.EraserBindTouchMultiplier && Settings.Advanced.IsSpecialScreen)
|
||||||
|
eraserMultiplier = 1 / Settings.Advanced.TouchMultiplier;
|
||||||
|
if (boundsWidth > BoundsWidth) {
|
||||||
|
isLastTouchEraser = true;
|
||||||
|
if (drawingShapeMode == 0 && forceEraser) return;
|
||||||
|
if (boundsWidth > BoundsWidth * 2.5) {
|
||||||
|
double k = 1;
|
||||||
|
switch (Settings.Canvas.EraserSize) {
|
||||||
|
case 0:
|
||||||
|
k = 0.5;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
k = 0.8;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
k = 1.25;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
k = 1.8;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
inkCanvas.EraserShape = new EllipseStylusShape(boundsWidth * k * eraserMultiplier,
|
||||||
|
boundsWidth * k * eraserMultiplier);
|
||||||
|
inkCanvas.EditingMode = InkCanvasEditingMode.EraseByPoint;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (StackPanelPPTControls.Visibility == Visibility.Visible && inkCanvas.Strokes.Count == 0 &&
|
||||||
|
Settings.PowerPointSettings.IsEnableFingerGestureSlideShowControl) {
|
||||||
|
isLastTouchEraser = false;
|
||||||
|
inkCanvas.EditingMode = InkCanvasEditingMode.GestureOnly;
|
||||||
|
inkCanvas.Opacity = 0.1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
inkCanvas.EraserShape = new EllipseStylusShape(5, 5);
|
||||||
|
inkCanvas.EditingMode = InkCanvasEditingMode.EraseByStroke;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
isLastTouchEraser = false;
|
||||||
|
// 修复面积擦时不显示橡皮形状:无论 forcePointEraser 状态,均显示 50x50 橡皮
|
||||||
|
inkCanvas.EraserShape = new EllipseStylusShape(50, 50);
|
||||||
|
if (forceEraser) return;
|
||||||
|
inkCanvas.EditingMode = InkCanvasEditingMode.Ink;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (inkCanvas.EditingMode != InkCanvasEditingMode.None)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (e.TouchDevice == null) {
|
||||||
|
System.Windows.Forms.Cursor.Show();
|
||||||
|
} else {
|
||||||
|
System.Windows.Forms.Cursor.Hide();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private int drawMultiStepShapeCurrentStep = 0; //多笔完成的图形 当前所处在的笔画
|
private int drawMultiStepShapeCurrentStep = 0; //多笔完成的图形 当前所处在的笔画
|
||||||
|
|||||||
@@ -19,7 +19,109 @@ namespace Ink_Canvas {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
inkCanvas.Opacity = 1;
|
inkCanvas.Opacity = 1;
|
||||||
if (Settings.InkToShape.IsInkToShapeEnabled && !Environment.Is64BitProcess) {
|
|
||||||
|
// 直线自动拉直功能
|
||||||
|
if (Settings.Canvas.AutoStraightenLine && e.Stroke.StylusPoints.Count > 1 && drawingShapeMode == 0 && penType == 0) {
|
||||||
|
// 获取起点和终点
|
||||||
|
StylusPoint startPoint = e.Stroke.StylusPoints[0];
|
||||||
|
StylusPoint endPoint = e.Stroke.StylusPoints[e.Stroke.StylusPoints.Count - 1];
|
||||||
|
|
||||||
|
// 计算直线长度
|
||||||
|
double length = Math.Sqrt(Math.Pow(endPoint.X - startPoint.X, 2) + Math.Pow(endPoint.Y - startPoint.Y, 2));
|
||||||
|
|
||||||
|
// 判断是否需要拉直
|
||||||
|
if (length >= Settings.Canvas.AutoStraightenLineThreshold) {
|
||||||
|
// 判断是否符合直线特征(计算点到直线的最大距离)
|
||||||
|
double maxDistance = 0;
|
||||||
|
for (int i = 1; i < e.Stroke.StylusPoints.Count - 1; i++) {
|
||||||
|
StylusPoint point = e.Stroke.StylusPoints[i];
|
||||||
|
double distance = DistanceFromPointToLine(point, startPoint, endPoint);
|
||||||
|
maxDistance = Math.Max(maxDistance, distance);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果最大距离小于线长的15%,认为是直线
|
||||||
|
if (maxDistance < length * 0.15) {
|
||||||
|
// 创建新的直线点集合
|
||||||
|
StylusPointCollection newPoints = new StylusPointCollection();
|
||||||
|
|
||||||
|
// 直线端点吸附功能
|
||||||
|
if (Settings.Canvas.LineEndpointSnapping) {
|
||||||
|
bool startPointSnapped = false;
|
||||||
|
bool endPointSnapped = false;
|
||||||
|
|
||||||
|
// 获取画布上的所有笔画
|
||||||
|
StrokeCollection allStrokes = inkCanvas.Strokes;
|
||||||
|
|
||||||
|
// 排除当前笔画
|
||||||
|
StrokeCollection otherStrokes = new StrokeCollection();
|
||||||
|
foreach (Stroke stroke in allStrokes) {
|
||||||
|
if (stroke != e.Stroke) {
|
||||||
|
otherStrokes.Add(stroke);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查找最近的端点
|
||||||
|
double minStartDistance = Settings.Canvas.LineEndpointSnappingThreshold;
|
||||||
|
double minEndDistance = Settings.Canvas.LineEndpointSnappingThreshold;
|
||||||
|
StylusPoint nearestToStart = startPoint;
|
||||||
|
StylusPoint nearestToEnd = endPoint;
|
||||||
|
|
||||||
|
foreach (Stroke stroke in otherStrokes) {
|
||||||
|
// 只考虑直线(只有两个点的笔画)
|
||||||
|
if (stroke.StylusPoints.Count == 2) {
|
||||||
|
StylusPoint strokeStart = stroke.StylusPoints[0];
|
||||||
|
StylusPoint strokeEnd = stroke.StylusPoints[1];
|
||||||
|
|
||||||
|
// 计算当前笔画起点到其他笔画端点的距离
|
||||||
|
double distanceToStrokeStart = Distance(startPoint, strokeStart);
|
||||||
|
double distanceToStrokeEnd = Distance(startPoint, strokeEnd);
|
||||||
|
|
||||||
|
// 如果距离小于阈值且小于当前最小距离,更新最近点
|
||||||
|
if (distanceToStrokeStart < minStartDistance) {
|
||||||
|
minStartDistance = distanceToStrokeStart;
|
||||||
|
nearestToStart = strokeStart;
|
||||||
|
startPointSnapped = true;
|
||||||
|
}
|
||||||
|
if (distanceToStrokeEnd < minStartDistance) {
|
||||||
|
minStartDistance = distanceToStrokeEnd;
|
||||||
|
nearestToStart = strokeEnd;
|
||||||
|
startPointSnapped = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 计算当前笔画终点到其他笔画端点的距离
|
||||||
|
double distanceEndToStrokeStart = Distance(endPoint, strokeStart);
|
||||||
|
double distanceEndToStrokeEnd = Distance(endPoint, strokeEnd);
|
||||||
|
|
||||||
|
// 如果距离小于阈值且小于当前最小距离,更新最近点
|
||||||
|
if (distanceEndToStrokeStart < minEndDistance) {
|
||||||
|
minEndDistance = distanceEndToStrokeStart;
|
||||||
|
nearestToEnd = strokeStart;
|
||||||
|
endPointSnapped = true;
|
||||||
|
}
|
||||||
|
if (distanceEndToStrokeEnd < minEndDistance) {
|
||||||
|
minEndDistance = distanceEndToStrokeEnd;
|
||||||
|
nearestToEnd = strokeEnd;
|
||||||
|
endPointSnapped = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 应用吸附结果
|
||||||
|
newPoints.Add(startPointSnapped ? nearestToStart : startPoint);
|
||||||
|
newPoints.Add(endPointSnapped ? nearestToEnd : endPoint);
|
||||||
|
} else {
|
||||||
|
// 不启用吸附,直接使用原始端点
|
||||||
|
newPoints.Add(startPoint);
|
||||||
|
newPoints.Add(endPoint);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 替换原有笔迹
|
||||||
|
e.Stroke.StylusPoints = newPoints;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Settings.InkToShape.IsInkToShapeEnabled && drawingShapeMode == 0 && !isInMultiTouchMode && penType == 0) {
|
||||||
void InkToShapeProcess() {
|
void InkToShapeProcess() {
|
||||||
try {
|
try {
|
||||||
newStrokes.Add(e.Stroke);
|
newStrokes.Add(e.Stroke);
|
||||||
@@ -320,13 +422,27 @@ namespace Ink_Canvas {
|
|||||||
InkToShapeProcess();
|
InkToShapeProcess();
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var stylusPoint in e.Stroke.StylusPoints)
|
// 如果启用了屏蔽压感功能,强制所有点的压感值为0.5
|
||||||
//LogHelper.WriteLogToFile(stylusPoint.PressureFactor.ToString(), LogHelper.LogType.Info);
|
if (Settings.Canvas.DisablePressure) {
|
||||||
// 检查是否是压感笔书写
|
var stylusPoints = new StylusPointCollection();
|
||||||
//if (stylusPoint.PressureFactor != 0.5 && stylusPoint.PressureFactor != 0)
|
foreach (var point in e.Stroke.StylusPoints) {
|
||||||
if ((stylusPoint.PressureFactor > 0.501 || stylusPoint.PressureFactor < 0.5) &&
|
var newPoint = new StylusPoint(point.X, point.Y, 0.5f);
|
||||||
stylusPoint.PressureFactor != 0)
|
stylusPoints.Add(newPoint);
|
||||||
return;
|
}
|
||||||
|
e.Stroke.StylusPoints = stylusPoints;
|
||||||
|
return; // 跳过后续的压感处理
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查是否是压感笔书写,如果启用了压感触屏模式则跳过此检查
|
||||||
|
if (!Settings.Canvas.EnablePressureTouchMode) {
|
||||||
|
foreach (var stylusPoint in e.Stroke.StylusPoints)
|
||||||
|
//LogHelper.WriteLogToFile(stylusPoint.PressureFactor.ToString(), LogHelper.LogType.Info);
|
||||||
|
// 检查是否是压感笔书写
|
||||||
|
//if (stylusPoint.PressureFactor != 0.5 && stylusPoint.PressureFactor != 0)
|
||||||
|
if ((stylusPoint.PressureFactor > 0.501 || stylusPoint.PressureFactor < 0.5) &&
|
||||||
|
stylusPoint.PressureFactor != 0)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (e.Stroke.StylusPoints.Count > 3) {
|
if (e.Stroke.StylusPoints.Count > 3) {
|
||||||
@@ -540,5 +656,31 @@ namespace Ink_Canvas {
|
|||||||
public StylusPoint GetCenterPoint(StylusPoint point1, StylusPoint point2) {
|
public StylusPoint GetCenterPoint(StylusPoint point1, StylusPoint point2) {
|
||||||
return new StylusPoint((point1.X + point2.X) / 2, (point1.Y + point2.Y) / 2);
|
return new StylusPoint((point1.X + point2.X) / 2, (point1.Y + point2.Y) / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 计算点到直线的距离
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="point">点</param>
|
||||||
|
/// <param name="lineStart">直线起点</param>
|
||||||
|
/// <param name="lineEnd">直线终点</param>
|
||||||
|
/// <returns>距离</returns>
|
||||||
|
private double DistanceFromPointToLine(StylusPoint point, StylusPoint lineStart, StylusPoint lineEnd) {
|
||||||
|
double lineLength = Math.Sqrt(Math.Pow(lineEnd.X - lineStart.X, 2) + Math.Pow(lineEnd.Y - lineStart.Y, 2));
|
||||||
|
if (lineLength == 0) return 0;
|
||||||
|
|
||||||
|
double area = Math.Abs(
|
||||||
|
(lineEnd.X - lineStart.X) * (lineStart.Y - point.Y) -
|
||||||
|
(lineStart.X - point.X) * (lineEnd.Y - lineStart.Y)
|
||||||
|
);
|
||||||
|
|
||||||
|
return area / lineLength;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 计算两点之间的距离
|
||||||
|
/// </summary>
|
||||||
|
private double Distance(StylusPoint p1, StylusPoint p2) {
|
||||||
|
return Math.Sqrt(Math.Pow(p2.X - p1.X, 2) + Math.Pow(p2.Y - p1.Y, 2));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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 桌面批注”已自动关闭");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,6 +79,8 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
TouchDownPointsList[e.TouchDevice.Id] = InkCanvasEditingMode.None;
|
TouchDownPointsList[e.TouchDevice.Id] = InkCanvasEditingMode.None;
|
||||||
|
// 修复面积擦时不显示橡皮形状:无论 forcePointEraser 状态,均显示 50x50 橡皮
|
||||||
|
inkCanvas.EraserShape = new EllipseStylusShape(50, 50);
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -181,6 +183,11 @@ namespace Ink_Canvas {
|
|||||||
private bool forcePointEraser = true;
|
private bool forcePointEraser = true;
|
||||||
|
|
||||||
private void Main_Grid_TouchDown(object sender, TouchEventArgs e) {
|
private void Main_Grid_TouchDown(object sender, TouchEventArgs e) {
|
||||||
|
// 确保触摸时显示自定义光标
|
||||||
|
if (Settings.Canvas.IsShowCursor) {
|
||||||
|
inkCanvas.ForceCursor = true;
|
||||||
|
System.Windows.Forms.Cursor.Show();
|
||||||
|
}
|
||||||
|
|
||||||
inkCanvas.CaptureTouch(e.TouchDevice);
|
inkCanvas.CaptureTouch(e.TouchDevice);
|
||||||
ViewboxFloatingBar.IsHitTestVisible = false;
|
ViewboxFloatingBar.IsHitTestVisible = false;
|
||||||
@@ -236,8 +243,8 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
isLastTouchEraser = false;
|
isLastTouchEraser = false;
|
||||||
inkCanvas.EraserShape =
|
// 修复面积擦时不显示橡皮形状:无论 forcePointEraser 状态,均显示 50x50 橡皮
|
||||||
forcePointEraser ? new EllipseStylusShape(50, 50) : new EllipseStylusShape(5, 5);
|
inkCanvas.EraserShape = new EllipseStylusShape(50, 50);
|
||||||
if (forceEraser) return;
|
if (forceEraser) return;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.Ink;
|
inkCanvas.EditingMode = InkCanvasEditingMode.Ink;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,12 +54,20 @@ namespace Ink_Canvas
|
|||||||
|
|
||||||
private void CloseAppTrayIconMenuItem_Clicked(object sender, RoutedEventArgs e) {
|
private void CloseAppTrayIconMenuItem_Clicked(object sender, RoutedEventArgs e) {
|
||||||
var mainWin = (MainWindow)Application.Current.MainWindow;
|
var mainWin = (MainWindow)Application.Current.MainWindow;
|
||||||
if (mainWin.IsLoaded) mainWin.BtnExit_Click(null,null);
|
if (mainWin.IsLoaded) {
|
||||||
|
App.IsAppExitByUser = true;
|
||||||
|
Application.Current.Shutdown();
|
||||||
|
// mainWin.BtnExit_Click(null,null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RestartAppTrayIconMenuItem_Clicked(object sender, RoutedEventArgs e) {
|
private void RestartAppTrayIconMenuItem_Clicked(object sender, RoutedEventArgs e) {
|
||||||
var mainWin = (MainWindow)Application.Current.MainWindow;
|
var mainWin = (MainWindow)Application.Current.MainWindow;
|
||||||
if (mainWin.IsLoaded) mainWin.BtnRestart_Click(null,null);
|
if (mainWin.IsLoaded) {
|
||||||
|
App.IsAppExitByUser = true;
|
||||||
|
Application.Current.Shutdown();
|
||||||
|
// mainWin.BtnExit_Click(null,null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ForceFullScreenTrayIconMenuItem_Clicked(object sender, RoutedEventArgs e) {
|
private void ForceFullScreenTrayIconMenuItem_Clicked(object sender, RoutedEventArgs e) {
|
||||||
|
|||||||
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 |
@@ -48,6 +48,18 @@ namespace Ink_Canvas
|
|||||||
public bool FitToCurve { get; set; } = true;
|
public bool FitToCurve { get; set; } = true;
|
||||||
[JsonProperty("clearCanvasAndClearTimeMachine")]
|
[JsonProperty("clearCanvasAndClearTimeMachine")]
|
||||||
public bool ClearCanvasAndClearTimeMachine { get; set; } = false;
|
public bool ClearCanvasAndClearTimeMachine { get; set; } = false;
|
||||||
|
[JsonProperty("enablePressureTouchMode")]
|
||||||
|
public bool EnablePressureTouchMode { get; set; } = false; // 是否启用压感触屏模式
|
||||||
|
[JsonProperty("disablePressure")]
|
||||||
|
public bool DisablePressure { get; set; } = false; // 是否屏蔽压感
|
||||||
|
[JsonProperty("autoStraightenLine")]
|
||||||
|
public bool AutoStraightenLine { get; set; } = true; // 是否启用直线自动拉直
|
||||||
|
[JsonProperty("autoStraightenLineThreshold")]
|
||||||
|
public int AutoStraightenLineThreshold { get; set; } = 30; // 直线自动拉直的长度阈值(像素)
|
||||||
|
[JsonProperty("lineEndpointSnapping")]
|
||||||
|
public bool LineEndpointSnapping { get; set; } = true; // 是否启用直线端点吸附
|
||||||
|
[JsonProperty("lineEndpointSnappingThreshold")]
|
||||||
|
public int LineEndpointSnappingThreshold { get; set; } = 15; // 直线端点吸附的距离阈值(像素)
|
||||||
|
|
||||||
[JsonProperty("usingWhiteboard")]
|
[JsonProperty("usingWhiteboard")]
|
||||||
public bool UsingWhiteboard { get; set; }
|
public bool UsingWhiteboard { get; set; }
|
||||||
@@ -308,7 +320,7 @@ namespace Ink_Canvas
|
|||||||
public bool IsAutoKillICA { get; set; } = false;
|
public bool IsAutoKillICA { get; set; } = false;
|
||||||
|
|
||||||
[JsonProperty("isAutoKillIDT")]
|
[JsonProperty("isAutoKillIDT")]
|
||||||
public bool IsAutoKillIDT { get; set; } = true;
|
public bool IsAutoKillIDT { get; set; } = false;
|
||||||
|
|
||||||
[JsonProperty("isSaveScreenshotsInDateFolders")]
|
[JsonProperty("isSaveScreenshotsInDateFolders")]
|
||||||
public bool IsSaveScreenshotsInDateFolders { get; set; } = false;
|
public bool IsSaveScreenshotsInDateFolders { get; set; } = false;
|
||||||
@@ -378,6 +390,9 @@ namespace Ink_Canvas
|
|||||||
|
|
||||||
[JsonProperty("isSecondConfirmWhenShutdownApp")]
|
[JsonProperty("isSecondConfirmWhenShutdownApp")]
|
||||||
public bool IsSecondConfirmWhenShutdownApp { get; set; } = false;
|
public bool IsSecondConfirmWhenShutdownApp { get; set; } = false;
|
||||||
|
|
||||||
|
[JsonProperty("isEnableAvoidFullScreenHelper")]
|
||||||
|
public bool IsEnableAvoidFullScreenHelper { get; set; } = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class InkToShape
|
public class InkToShape
|
||||||
@@ -403,5 +418,7 @@ namespace Ink_Canvas
|
|||||||
public double RandWindowOnceCloseLatency { get; set; } = 2.5;
|
public double RandWindowOnceCloseLatency { get; set; } = 2.5;
|
||||||
[JsonProperty("randWindowOnceMaxStudents")]
|
[JsonProperty("randWindowOnceMaxStudents")]
|
||||||
public int RandWindowOnceMaxStudents { get; set; } = 10;
|
public int RandWindowOnceMaxStudents { get; set; } = 10;
|
||||||
|
[JsonProperty("showRandomAndSingleDraw")]
|
||||||
|
public bool ShowRandomAndSingleDraw { get; set; } = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 422 KiB After Width: | Height: | Size: 190 KiB |
@@ -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">
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
+1
-1
@@ -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-0610.2.3\Ink Canvas\
|
build_property.ProjectDir = C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\
|
||||||
build_property.EnableComHosting =
|
build_property.EnableComHosting =
|
||||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||||
build_property.CsWinRTUseWindowsUIXamlProjections = false
|
build_property.CsWinRTUseWindowsUIXamlProjections = false
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -4,16 +4,16 @@
|
|||||||
winexe
|
winexe
|
||||||
C#
|
C#
|
||||||
.cs
|
.cs
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\ARM64\Debug\net472\
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\ARM64\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-0610.2.3\Ink Canvas\App.xaml
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\App.xaml
|
||||||
13173459795
|
13173459795
|
||||||
|
|
||||||
55-769182680
|
55-769182680
|
||||||
46-1246926730
|
461887219135
|
||||||
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;
|
||||||
|
|
||||||
True
|
True
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\ARM64\Debug\net472\GeneratedInternalTypeHelper.g.cs
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\ARM64\Debug\net472\GeneratedInternalTypeHelper.g.cs
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\App.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\App.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\MainWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\MainWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\CountdownTimerWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\CountdownTimerWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\CycleProcessBar.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\CycleProcessBar.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\HasNewUpdateWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\HasNewUpdateWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\NamesInputWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\NamesInputWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\OperatingGuideWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\OperatingGuideWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\RandWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\RandWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\YesOrNoNotificationWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\YesOrNoNotificationWindow.xaml;;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -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-0610.2.3\Ink Canvas\
|
build_property.ProjectDir = C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\
|
||||||
build_property.EnableComHosting =
|
build_property.EnableComHosting =
|
||||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||||
build_property.CsWinRTUseWindowsUIXamlProjections = false
|
build_property.CsWinRTUseWindowsUIXamlProjections = false
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
@@ -4,16 +4,16 @@
|
|||||||
winexe
|
winexe
|
||||||
C#
|
C#
|
||||||
.cs
|
.cs
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\ARM64\Release\net472\
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\ARM64\Release\net472\
|
||||||
Ink_Canvas
|
Ink_Canvas
|
||||||
none
|
none
|
||||||
false
|
false
|
||||||
TRACE;RELEASE;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;RELEASE;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-0610.2.3\Ink Canvas\App.xaml
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\App.xaml
|
||||||
13173459795
|
13173459795
|
||||||
|
|
||||||
55-769182680
|
55-769182680
|
||||||
46-267324192
|
46-1428145623
|
||||||
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;
|
||||||
|
|
||||||
True
|
True
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\ARM64\Release\net472\GeneratedInternalTypeHelper.g.cs
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\ARM64\Release\net472\GeneratedInternalTypeHelper.g.cs
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\App.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\App.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\MainWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\MainWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\CountdownTimerWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\CountdownTimerWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\CycleProcessBar.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\CycleProcessBar.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\HasNewUpdateWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\HasNewUpdateWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\NamesInputWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\NamesInputWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\OperatingGuideWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\OperatingGuideWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\RandWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\RandWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\YesOrNoNotificationWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\YesOrNoNotificationWindow.xaml;;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -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-0610.2.3\Ink Canvas\
|
build_property.ProjectDir = C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\
|
||||||
build_property.EnableComHosting =
|
build_property.EnableComHosting =
|
||||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||||
build_property.CsWinRTUseWindowsUIXamlProjections = false
|
build_property.CsWinRTUseWindowsUIXamlProjections = false
|
||||||
|
|||||||
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -4,16 +4,16 @@
|
|||||||
winexe
|
winexe
|
||||||
C#
|
C#
|
||||||
.cs
|
.cs
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\ARM64\x86 Debug\net472\
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\ARM64\x86 Debug\net472\
|
||||||
Ink_Canvas
|
Ink_Canvas
|
||||||
none
|
none
|
||||||
false
|
false
|
||||||
TRACE;X86_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;X86_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-0610.2.3\Ink Canvas\App.xaml
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\App.xaml
|
||||||
13173459795
|
13173459795
|
||||||
|
|
||||||
55-769182680
|
55-769182680
|
||||||
46-479392040
|
46-1640213471
|
||||||
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;
|
||||||
|
|
||||||
True
|
True
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\ARM64\x86 Debug\net472\GeneratedInternalTypeHelper.g.cs
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\ARM64\x86 Debug\net472\GeneratedInternalTypeHelper.g.cs
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\App.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\App.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\MainWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\MainWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\CountdownTimerWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\CountdownTimerWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\CycleProcessBar.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\CycleProcessBar.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\HasNewUpdateWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\HasNewUpdateWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\NamesInputWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\NamesInputWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\OperatingGuideWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\OperatingGuideWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\RandWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\RandWindow.xaml;;
|
||||||
FC:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\Windows\YesOrNoNotificationWindow.xaml;;
|
FC:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\Windows\YesOrNoNotificationWindow.xaml;;
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -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>
|
||||||
// 此代码由工具生成。
|
// 此代码由工具生成。
|
||||||
@@ -65,7 +65,7 @@ namespace Ink_Canvas {
|
|||||||
/// InitializeComponent
|
/// InitializeComponent
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.5.0")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")]
|
||||||
public void InitializeComponent() {
|
public void InitializeComponent() {
|
||||||
if (_contentLoaded) {
|
if (_contentLoaded) {
|
||||||
return;
|
return;
|
||||||
@@ -87,7 +87,7 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
|
|
||||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.5.0")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")]
|
||||||
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
|
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
|
||||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
|
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
|
||||||
@@ -162,7 +162,7 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
|
|
||||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.5.0")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")]
|
||||||
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
|
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
|
||||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
|
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
|
||||||
@@ -190,7 +190,7 @@ namespace Ink_Canvas {
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[System.STAThreadAttribute()]
|
[System.STAThreadAttribute()]
|
||||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.5.0")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")]
|
||||||
public static void Main() {
|
public static void Main() {
|
||||||
Ink_Canvas.App app = new Ink_Canvas.App();
|
Ink_Canvas.App app = new Ink_Canvas.App();
|
||||||
app.InitializeComponent();
|
app.InitializeComponent();
|
||||||
|
|||||||
@@ -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>
|
||||||
// 此代码由工具生成。
|
// 此代码由工具生成。
|
||||||
@@ -65,7 +65,7 @@ namespace Ink_Canvas {
|
|||||||
/// InitializeComponent
|
/// InitializeComponent
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.5.0")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")]
|
||||||
public void InitializeComponent() {
|
public void InitializeComponent() {
|
||||||
if (_contentLoaded) {
|
if (_contentLoaded) {
|
||||||
return;
|
return;
|
||||||
@@ -87,7 +87,7 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
|
|
||||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.5.0")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")]
|
||||||
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
|
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
|
||||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
|
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
|
||||||
@@ -162,7 +162,7 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
|
|
||||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.5.0")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")]
|
||||||
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
|
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
|
||||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
|
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
|
||||||
@@ -190,7 +190,7 @@ namespace Ink_Canvas {
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[System.STAThreadAttribute()]
|
[System.STAThreadAttribute()]
|
||||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.5.0")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")]
|
||||||
public static void Main() {
|
public static void Main() {
|
||||||
Ink_Canvas.App app = new Ink_Canvas.App();
|
Ink_Canvas.App app = new Ink_Canvas.App();
|
||||||
app.InitializeComponent();
|
app.InitializeComponent();
|
||||||
|
|||||||
@@ -1,2 +1,62 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// 此代码由工具生成。
|
||||||
|
// 运行时版本:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||||
|
// 重新生成代码,这些更改将会丢失。
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace XamlGeneratedNamespace {
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// GeneratedInternalTypeHelper
|
||||||
|
/// </summary>
|
||||||
|
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")]
|
||||||
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper {
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// CreateInstance
|
||||||
|
/// </summary>
|
||||||
|
protected override object CreateInstance(System.Type type, System.Globalization.CultureInfo culture) {
|
||||||
|
return System.Activator.CreateInstance(type, ((System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic)
|
||||||
|
| (System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.CreateInstance)), null, null, culture);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// GetPropertyValue
|
||||||
|
/// </summary>
|
||||||
|
protected override object GetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, System.Globalization.CultureInfo culture) {
|
||||||
|
return propertyInfo.GetValue(target, System.Reflection.BindingFlags.Default, null, null, culture);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// SetPropertyValue
|
||||||
|
/// </summary>
|
||||||
|
protected override void SetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, object value, System.Globalization.CultureInfo culture) {
|
||||||
|
propertyInfo.SetValue(target, value, System.Reflection.BindingFlags.Default, null, null, culture);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// CreateDelegate
|
||||||
|
/// </summary>
|
||||||
|
protected override System.Delegate CreateDelegate(System.Type delegateType, object target, string handler) {
|
||||||
|
return ((System.Delegate)(target.GetType().InvokeMember("_CreateDelegate", (System.Reflection.BindingFlags.InvokeMethod
|
||||||
|
| (System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)), null, target, new object[] {
|
||||||
|
delegateType,
|
||||||
|
handler}, null)));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// AddEventHandler
|
||||||
|
/// </summary>
|
||||||
|
protected override void AddEventHandler(System.Reflection.EventInfo eventInfo, object target, System.Delegate handler) {
|
||||||
|
eventInfo.AddEventHandler(target, handler);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ namespace XamlGeneratedNamespace {
|
|||||||
/// GeneratedInternalTypeHelper
|
/// GeneratedInternalTypeHelper
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.5.0")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")]
|
||||||
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper {
|
public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper {
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -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 main\ICC-CE\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
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
|||||||
dd3521e0580a824c786b5e414f7bde2cc7a0863577f79e73e0c08336bfbd95ae
|
873bc7f43d75c362dfce6f35fc846d3cca2ed3663fa31937587b7276c474772f
|
||||||
|
|||||||
@@ -1,132 +1,3 @@
|
|||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe.config
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\ICSharpCode.AvalonEdit.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\Hardcodet.NotifyIcon.Wpf.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.Controls.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\MdXaml.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\MdXaml.Plugins.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\Microsoft.Office.Interop.PowerPoint.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\Office.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\Newtonsoft.Json.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\NHotkey.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\NHotkey.Wpf.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\OSVersionExt.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\System.ValueTuple.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\IACore.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\IALoader.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\bin\Debug\net472\IAWinFX.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.AssemblyReference.cache
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Interop.IWshRuntimeLibrary.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.ResolveComReference.cache
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Resources\DrawShapeImageDictionary.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Resources\IconImageDictionary.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Resources\SeewoImageDictionary.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Resources\Styles\Dark.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Resources\Styles\Light.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\MainWindow.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Windows\CycleProcessBar.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Windows\HasNewUpdateWindow.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Windows\NamesInputWindow.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Windows\OperatingGuideWindow.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Windows\RandWindow.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Windows\YesOrNoNotificationWindow.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\App.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\GeneratedInternalTypeHelper.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.cache
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.lref
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\App.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\MainWindow.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Windows\CycleProcessBar.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Windows\HasNewUpdateWindow.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Windows\NamesInputWindow.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Windows\OperatingGuideWindow.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Windows\RandWindow.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Windows\YesOrNoNotificationWindow.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\InkCanvasForClass.g.resources
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\Ink_Canvas.Properties.Resources.resources
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.GenerateResource.cache
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\InkCanvasForClass.GeneratedMSBuildEditorConfig.editorconfig
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.CoreCompileInputs.cache
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\InkCanva.0F57E7D5.Up2Date
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.2\Ink Canvas\obj\Debug\net472\InkCanvasForClass.exe
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.AssemblyReference.cache
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Interop.IWshRuntimeLibrary.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.ResolveComReference.cache
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Resources\DrawShapeImageDictionary.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Resources\IconImageDictionary.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Resources\SeewoImageDictionary.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Resources\Styles\Dark.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Resources\Styles\Light.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\MainWindow.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Windows\CycleProcessBar.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Windows\HasNewUpdateWindow.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Windows\NamesInputWindow.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Windows\OperatingGuideWindow.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Windows\RandWindow.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Windows\YesOrNoNotificationWindow.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\App.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\GeneratedInternalTypeHelper.g.cs
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.cache
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.lref
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass.exe
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe.config
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\ICSharpCode.AvalonEdit.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\Hardcodet.NotifyIcon.Wpf.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.Controls.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\MdXaml.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\MdXaml.Plugins.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\Microsoft.Office.Interop.PowerPoint.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\Office.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\Newtonsoft.Json.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\NHotkey.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\NHotkey.Wpf.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\OSVersionExt.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\System.ValueTuple.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\IACore.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\IALoader.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\bin\Debug\net472\IAWinFX.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\App.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\MainWindow.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Windows\CycleProcessBar.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Windows\HasNewUpdateWindow.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Windows\NamesInputWindow.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Windows\OperatingGuideWindow.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Windows\RandWindow.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Windows\YesOrNoNotificationWindow.baml
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass.g.resources
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\Ink_Canvas.Properties.Resources.resources
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.GenerateResource.cache
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass.GeneratedMSBuildEditorConfig.editorconfig
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.CoreCompileInputs.cache
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\icc-0610.2.3\Ink Canvas\obj\Debug\net472\InkCanva.0F57E7D5.Up2Date
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe.config
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\ICSharpCode.AvalonEdit.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\Hardcodet.NotifyIcon.Wpf.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.Controls.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\MdXaml.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\MdXaml.Plugins.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\Microsoft.Office.Interop.PowerPoint.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\Office.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\Newtonsoft.Json.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\NHotkey.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\NHotkey.Wpf.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\OSVersionExt.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\System.ValueTuple.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\IACore.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\IALoader.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\IAWinFX.dll
|
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.AssemblyReference.cache
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.AssemblyReference.cache
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\Interop.IWshRuntimeLibrary.dll
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\Interop.IWshRuntimeLibrary.dll
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.ResolveComReference.cache
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.ResolveComReference.cache
|
||||||
@@ -147,6 +18,25 @@ C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\A
|
|||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\GeneratedInternalTypeHelper.g.cs
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\GeneratedInternalTypeHelper.g.cs
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.cache
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.cache
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.lref
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.lref
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe.config
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\ICSharpCode.AvalonEdit.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\Hardcodet.NotifyIcon.Wpf.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.Controls.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\MdXaml.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\MdXaml.Plugins.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\Microsoft.Office.Interop.PowerPoint.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\Office.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\Newtonsoft.Json.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\NHotkey.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\NHotkey.Wpf.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\OSVersionExt.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\System.ValueTuple.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\IACore.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\IALoader.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\bin\Debug\net472\IAWinFX.dll
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\App.baml
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\App.baml
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\MainWindow.baml
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\MainWindow.baml
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.baml
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.baml
|
||||||
@@ -163,3 +53,341 @@ C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\I
|
|||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.CoreCompileInputs.cache
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.CoreCompileInputs.cache
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\InkCanva.0F57E7D5.Up2Date
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\InkCanva.0F57E7D5.Up2Date
|
||||||
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass.exe
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass.exe
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.3\Ink Canvas\obj\Debug\net472\InkCanvasForClass.exe.config
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe.config
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\ICSharpCode.AvalonEdit.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\Hardcodet.NotifyIcon.Wpf.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.Controls.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\MdXaml.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\MdXaml.Plugins.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\Microsoft.Office.Interop.PowerPoint.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\Office.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\Newtonsoft.Json.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\NHotkey.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\NHotkey.Wpf.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\OSVersionExt.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\System.ValueTuple.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\IACore.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\IALoader.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\bin\Debug\net472\IAWinFX.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.AssemblyReference.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Interop.IWshRuntimeLibrary.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.ResolveComReference.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Resources\DrawShapeImageDictionary.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Resources\IconImageDictionary.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Resources\SeewoImageDictionary.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Resources\Styles\Dark.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Resources\Styles\Light.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\MainWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Windows\CycleProcessBar.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Windows\HasNewUpdateWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Windows\NamesInputWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Windows\OperatingGuideWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Windows\RandWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Windows\YesOrNoNotificationWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\App.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\GeneratedInternalTypeHelper.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.lref
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\App.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\MainWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Windows\CycleProcessBar.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Windows\HasNewUpdateWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Windows\NamesInputWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Windows\OperatingGuideWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Windows\RandWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Windows\YesOrNoNotificationWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\InkCanvasForClass.g.resources
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\Ink_Canvas.Properties.Resources.resources
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.GenerateResource.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\InkCanvasForClass.GeneratedMSBuildEditorConfig.editorconfig
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.CoreCompileInputs.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\InkCanva.0F57E7D5.Up2Date
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\InkCanvasForClass.exe
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.4\Ink Canvas\obj\Debug\net472\InkCanvasForClass.exe.config
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.AssemblyReference.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\InkCanvasForClass.exe.config
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Interop.IWshRuntimeLibrary.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.ResolveComReference.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Resources\DrawShapeImageDictionary.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Resources\IconImageDictionary.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Resources\SeewoImageDictionary.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Resources\Styles\Dark.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Resources\Styles\Light.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\MainWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Windows\CycleProcessBar.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Windows\HasNewUpdateWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Windows\NamesInputWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Windows\OperatingGuideWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Windows\RandWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Windows\YesOrNoNotificationWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\App.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\GeneratedInternalTypeHelper.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.lref
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\InkCanvasForClass.exe
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe.config
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\ICSharpCode.AvalonEdit.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\Hardcodet.NotifyIcon.Wpf.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.Controls.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\MdXaml.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\MdXaml.Plugins.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\Microsoft.Office.Interop.PowerPoint.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\Office.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\Newtonsoft.Json.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\NHotkey.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\NHotkey.Wpf.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\OSVersionExt.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\System.ValueTuple.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\IACore.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\IALoader.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\bin\Debug\net472\IAWinFX.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\App.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\MainWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Windows\CycleProcessBar.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Windows\HasNewUpdateWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Windows\NamesInputWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Windows\OperatingGuideWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Windows\RandWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Windows\YesOrNoNotificationWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\InkCanvasForClass.g.resources
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\Ink_Canvas.Properties.Resources.resources
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.GenerateResource.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\InkCanvasForClass.GeneratedMSBuildEditorConfig.editorconfig
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.CoreCompileInputs.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.2.5\Ink Canvas\obj\Debug\net472\InkCanva.0F57E7D5.Up2Date
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe.config
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\ICSharpCode.AvalonEdit.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\Hardcodet.NotifyIcon.Wpf.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.Controls.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\MdXaml.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\MdXaml.Plugins.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\Microsoft.Office.Interop.PowerPoint.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\Office.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\Newtonsoft.Json.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\NHotkey.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\NHotkey.Wpf.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\OSVersionExt.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\System.ValueTuple.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\IACore.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\IALoader.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\bin\Debug\net472\IAWinFX.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.AssemblyReference.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.exe.config
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Interop.IWshRuntimeLibrary.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.ResolveComReference.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Resources\DrawShapeImageDictionary.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Resources\IconImageDictionary.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Resources\SeewoImageDictionary.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Resources\Styles\Dark.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Resources\Styles\Light.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\MainWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Windows\CycleProcessBar.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Windows\HasNewUpdateWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Windows\NamesInputWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Windows\OperatingGuideWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Windows\RandWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Windows\YesOrNoNotificationWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\App.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\GeneratedInternalTypeHelper.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.lref
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\App.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\MainWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Windows\CycleProcessBar.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Windows\HasNewUpdateWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Windows\NamesInputWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Windows\OperatingGuideWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Windows\RandWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Windows\YesOrNoNotificationWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.g.resources
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\Ink_Canvas.Properties.Resources.resources
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.GenerateResource.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.GeneratedMSBuildEditorConfig.editorconfig
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.CoreCompileInputs.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\InkCanva.0F57E7D5.Up2Date
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.3.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.exe
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.AssemblyReference.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Interop.IWshRuntimeLibrary.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.ResolveComReference.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Resources\DrawShapeImageDictionary.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Resources\IconImageDictionary.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Resources\SeewoImageDictionary.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Resources\Styles\Dark.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Resources\Styles\Light.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\MainWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Windows\CycleProcessBar.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Windows\HasNewUpdateWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Windows\NamesInputWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Windows\OperatingGuideWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Windows\RandWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Windows\YesOrNoNotificationWindow.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\App.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\GeneratedInternalTypeHelper.g.cs
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.cache
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass_MarkupCompile.lref
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.exe
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe.config
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\InkCanvasForClass.exe
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\ICSharpCode.AvalonEdit.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\Hardcodet.NotifyIcon.Wpf.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.Controls.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.Modern.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\iNKORE.UI.WPF.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\MdXaml.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\MdXaml.Plugins.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\Microsoft.Office.Interop.PowerPoint.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\Office.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\Newtonsoft.Json.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\NHotkey.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\NHotkey.Wpf.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\OSVersionExt.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\System.ValueTuple.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\IACore.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\IALoader.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\bin\Debug\net472\IAWinFX.dll
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\App.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\MainWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Windows\CountdownTimerWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Windows\CycleProcessBar.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Windows\HasNewUpdateWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Windows\NamesInputWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Windows\OperatingGuideWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Windows\RandWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Windows\YesOrNoNotificationWindow.baml
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.g.resources
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\Ink_Canvas.Properties.Resources.resources
|
||||||
|
C:\Users\Administrator\Desktop\ICC CE\ICC CE 1.4.1\Ink Canvas\obj\Debug\net472\InkCanvasForClass.csproj.GenerateResource.cache
|
||||||
|
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\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
|
||||||
|
|||||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user