如何强制win10打开虚拟平板电脑键盘?

mem*_*eme 6 c# windows-10

我有一个需要虚拟键盘的应用程序.但是,当我点击我的一些内容时TextBox,它们不会显示虚拟键盘.我试过用这个:

System.Diagnostics.Process.Start("osk.exe");
Run Code Online (Sandbox Code Playgroud)

但这会打开另一个键盘,在TextBox没有焦点后不会关闭.如何强制win10打开虚拟平板电脑键盘?

为了使自己清楚:
这是在win10触摸屏电脑上运行.当我启用了平板电脑模式时,虚拟键盘会显示在某些设备上TextBox,而不显示在其他设备上.因此,为什么我要强制键盘显示.

编辑: 我已经找到了显示"虚拟平板电脑键盘"的方法,但是我想使用 InputPane类来实现.有人能为我提供示例代码只是为了让我入手吗?

使用InputPane类打开它的代码:

System.Diagnostics.Process.Start("TabTip.exe");
Run Code Online (Sandbox Code Playgroud)

All*_*rez 2

一件事。InputPane,不能在WinForms中使用,InputPane是UWP的一个元素。

我运行了这段代码...并且有效!

 string progFiles = @"C:\Program Files\Common Files\Microsoft Shared\ink";
 string keyboardPath = Path.Combine(progFiles, "TabTip.exe");
 Process.Start(keyboardPath);
Run Code Online (Sandbox Code Playgroud)

但我必须在我的 regedit 上添加一个键值(手动),HKEY_CURRENT_USER\SOFTWARE\Microsoft\TabletTip该键值是一个名为 1.7 的文件夹(微软将来会对此进行更改),并添加一个名为 value 的 32 位 DWORDEnableDesktopModeAutoInvoke1。这意味着正确。它应该看起来像这样:

注册表编辑器

您可以以编程方式添加密钥,我认为您需要管理员权限。我尝试以编程方式添加密钥但不起作用,它使条目加倍而没有任何效果(小心);

建议:

考虑一下,为您创建的每个进程执行一个进程停止程序。我想当文本框(任何输入法)请求焦点时您会使用它。当组件失去焦点时,请务必停止该过程。

希望这有帮助。

在此输入图像描述