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