使用WPF应用程序设置Windows 10“自动显示触摸键盘”

5
我需要以编程的方式启用/禁用Windows 10中的触摸键盘自动显示选项,使用WPF(而不是UWP),如此处所示。
我找不到任何东西。是否有任何API可以从C#使用或者可以修改的注册表键来启用/禁用它?
2个回答

5

我最终使用 Process Monitor (如答案所述)来检测更改设置时修改的注册表值。 因此,要启用/禁用“自动显示触摸键盘”选项,您需要更改的注册表值为:

HKCU\Software\Microsoft\TabletTip\1.7\EnableDesktopModeAutoInvoke

用一个简单的命令,你可以启用/禁用此功能:
reg add "HKCU\Software\Microsoft\TabletTip\1.7" /v EnableDesktopModeAutoInvoke /t REG_WORD /d 1 /f

只需在1和0之间切换以启用/禁用它。


1
在我的应用程序中,Tabtip 在一段时间后停止显示。我想知道为什么? - Vibhesh Kaul

0
根据这篇SO帖子,你可以通过代码后台启动屏幕键盘(OSK):
    private void TextBox_GotFocus(object sender, RoutedEventArgs e)
    {
        Process.Start("osk.exe");
    }

我已经尝试并测试了一个简单的文本框,它运行良好。有另一篇帖子抱怨“无法启动屏幕键盘”,但没有明确的共识。

如果您需要注册表设置,则似乎有一个,但可能不太实用。注册表设置的详细信息在此帖子中。


我不需要显示屏幕键盘,我基本上需要能够通过编程方式更改Windows键盘设置。 - Andres

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接