From ea2314534963b1f003ac957caf308fee76e9408f Mon Sep 17 00:00:00 2001
From: CJKmkp <2564608840@qq.com>
Date: Sat, 28 Mar 2026 18:01:14 +0800
Subject: [PATCH] =?UTF-8?q?add:WinRT=E5=A2=A8=E8=BF=B9=E8=AF=86=E5=88=AB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Ink Canvas.sln | 26 +++++++++++------------
Ink Canvas/Helpers/InkShapeRecognition.cs | 6 +++++-
Ink Canvas/InkCanvasForClass.csproj | 18 ++++++++++------
Ink Canvas/Properties/Strings.enUS.xml | 2 +-
Ink Canvas/Properties/Strings.resx | 2 +-
5 files changed, 32 insertions(+), 22 deletions(-)
diff --git a/Ink Canvas.sln b/Ink Canvas.sln
index f100002a..a1386662 100644
--- a/Ink Canvas.sln
+++ b/Ink Canvas.sln
@@ -1,4 +1,4 @@
-
+
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.33530.505
@@ -23,22 +23,22 @@ Global
{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Debug|ARM.ActiveCfg = Debug|Any CPU
{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Debug|ARM.Build.0 = Debug|Any CPU
- {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Debug|ARM64.Build.0 = Debug|ARM64
- {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Debug|x64.ActiveCfg = Debug|x64
- {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Debug|x64.Build.0 = Debug|x64
- {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Debug|x86.ActiveCfg = Debug|Any CPU
- {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Debug|x86.Build.0 = Debug|Any CPU
+ {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Debug|x64.Build.0 = Debug|Any CPU
+ {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Debug|x86.ActiveCfg = x86 Debug|AnyCPU
+ {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Debug|x86.Build.0 = x86 Debug|AnyCPU
{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Release|Any CPU.Build.0 = Release|Any CPU
{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Release|ARM.ActiveCfg = Release|Any CPU
{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Release|ARM.Build.0 = Release|Any CPU
- {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Release|ARM64.ActiveCfg = Release|ARM64
- {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Release|ARM64.Build.0 = Release|ARM64
- {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Release|x64.ActiveCfg = Release|x64
- {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Release|x64.Build.0 = Release|x64
- {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Release|x86.ActiveCfg = Release|x86
- {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Release|x86.Build.0 = Release|x86
+ {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Release|ARM64.Build.0 = Release|Any CPU
+ {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Release|x64.ActiveCfg = Release|Any CPU
+ {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Release|x64.Build.0 = Release|Any CPU
+ {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Release|x86.ActiveCfg = Release|Any CPU
+ {8D0EDFC7-F974-4571-BC49-6F3A6653FE81}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Ink Canvas/Helpers/InkShapeRecognition.cs b/Ink Canvas/Helpers/InkShapeRecognition.cs
index 1e11c0dd..56555d20 100644
--- a/Ink Canvas/Helpers/InkShapeRecognition.cs
+++ b/Ink Canvas/Helpers/InkShapeRecognition.cs
@@ -16,11 +16,15 @@ namespace Ink_Canvas.Helpers
public static class ShapeRecognitionRouter
{
+ ///
+ /// 自动模式:在 64 位 Windows 上优先 WinRT(即使当前进程因 Prefer32Bit 以 WOW64 运行);
+ /// 32 位系统上走 IACore。与「仅看进程是否 64 位」相比,更符合用户在 x64 系统上的预期。
+ ///
public static bool ResolveUseWinRt(ShapeRecognitionEngineMode mode)
{
if (mode == ShapeRecognitionEngineMode.WinRT) return true;
if (mode == ShapeRecognitionEngineMode.IACore) return false;
- return Environment.Is64BitProcess;
+ return Environment.Is64BitOperatingSystem;
}
public static bool ShouldRunShapeRecognition(bool inkToShapeEnabled, ShapeRecognitionEngineMode mode)
diff --git a/Ink Canvas/InkCanvasForClass.csproj b/Ink Canvas/InkCanvasForClass.csproj
index 0753ff09..389b5727 100644
--- a/Ink Canvas/InkCanvasForClass.csproj
+++ b/Ink Canvas/InkCanvasForClass.csproj
@@ -79,37 +79,43 @@
bin\$(Platform)\$(Configuration)\
full
7.3
- true
+ ARM64
+ false
bin\$(Platform)\$(Configuration)\
full
7.3
- true
+ ARM64
+ false
bin\$(Platform)\$(Configuration)\
pdbonly
7.3
- true
+ ARM64
+ false
bin\$(Platform)\$(Configuration)\
full
7.3
- true
+ x64
+ false
bin\$(Platform)\$(Configuration)\
full
7.3
- true
+ x64
+ false
bin\$(Platform)\$(Configuration)\
pdbonly
7.3
- true
+ x64
+ false
diff --git a/Ink Canvas/Properties/Strings.enUS.xml b/Ink Canvas/Properties/Strings.enUS.xml
index 7b469ec7..a8864755 100644
--- a/Ink Canvas/Properties/Strings.enUS.xml
+++ b/Ink Canvas/Properties/Strings.enUS.xml
@@ -225,7 +225,7 @@
Ink correction
Enable ink recognition
Recognition engine
- # Auto: WinRT on 64-bit (Windows 10+), IACore on 32-bit. You can force IACore or WinRT.
+ # Auto: WinRT on 64-bit Windows (Windows 10+); IACore on 32-bit Windows. Prefer32Bit/WOW64 still counts as 64-bit OS for this choice. You can force IACore or WinRT.
Auto
IACore
WinRT
diff --git a/Ink Canvas/Properties/Strings.resx b/Ink Canvas/Properties/Strings.resx
index aaa9b928..717edf44 100644
--- a/Ink Canvas/Properties/Strings.resx
+++ b/Ink Canvas/Properties/Strings.resx
@@ -240,7 +240,7 @@
墨迹纠正
启用墨迹识别
识别引擎
- # 自动:64 位进程使用 WinRT(Windows 10+),32 位使用 IACore。可强制指定 IACore 或 WinRT。
+ # 自动:64 位 Windows 使用 WinRT(Windows 10+);32 位 Windows 使用 IACore。工程若启用「首选 32 位」仍以 WOW64 运行,但自动仍按系统为 64 位选 WinRT。可强制 IACore 或 WinRT。
自动
IACore
WinRT