使用 WPF 应用设置 Windows 10 "Automatically show the touch keyboard"
Set Windows 10 "Automatically show the touch keyboard" with WPF app
我需要以编程方式 enable/disable Windows 10 中的 Automatically show the touch keyboard
选项和 WPF(不是 UWP),如图所示 here。
我找不到任何东西。有没有我可以从 C# 使用的 API 或我可以修改为 enable/disable 的注册表项?
根据 this SO post,您可以通过隐藏代码启动屏幕键盘 (OSK):
private void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
Process.Start("osk.exe");
}
我用一个简单的文本框尝试并测试了它,效果很好。有 another post 抱怨 "Cannot start On-Screen Keyboard" 但没有明确的共识。
如果您需要注册表设置,似乎有一个,但可能不实用。注册表设置的详细信息 is in this post.
我最终使用 Process Monitor
中所述的 this 答案来检测在更改设置时修改了哪些注册表值。因此,对于 enable/disable Automatically show the touch keyboard
选项,您必须更改注册表值:
HKCU\Software\Microsoft\TabletTip.7\EnableDesktopModeAutoInvoke
用一个简单的命令你可以enable/disable这个:
reg add "HKCU\Software\Microsoft\TabletTip.7" /v EnableDesktopModeAutoInvoke /t REG_WORD /d 1 /f
只要在1和0之间改成enable/disable就可以了。
我需要以编程方式 enable/disable Windows 10 中的 Automatically show the touch keyboard
选项和 WPF(不是 UWP),如图所示 here。
我找不到任何东西。有没有我可以从 C# 使用的 API 或我可以修改为 enable/disable 的注册表项?
根据 this SO post,您可以通过隐藏代码启动屏幕键盘 (OSK):
private void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
Process.Start("osk.exe");
}
我用一个简单的文本框尝试并测试了它,效果很好。有 another post 抱怨 "Cannot start On-Screen Keyboard" 但没有明确的共识。
如果您需要注册表设置,似乎有一个,但可能不实用。注册表设置的详细信息 is in this post.
我最终使用 Process Monitor
中所述的 this 答案来检测在更改设置时修改了哪些注册表值。因此,对于 enable/disable Automatically show the touch keyboard
选项,您必须更改注册表值:
HKCU\Software\Microsoft\TabletTip.7\EnableDesktopModeAutoInvoke
用一个简单的命令你可以enable/disable这个:
reg add "HKCU\Software\Microsoft\TabletTip.7" /v EnableDesktopModeAutoInvoke /t REG_WORD /d 1 /f
只要在1和0之间改成enable/disable就可以了。