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

时间:2016-05-16 08:26:04

标签: c# windows-10

我有一个需要虚拟键盘的应用。但是,当我点击我的一些Fragment时,他们不会显示虚拟键盘。我试过用这个:

TextBox

但这会打开另一个键盘,在System.Diagnostics.Process.Start("osk.exe"); 无焦点后不会关闭。如何强制win10打开虚拟平板电脑键盘?

让自己明确:
这是在win10触摸屏电脑上运行的。启用平板电脑模式后,虚拟键盘会显示在某些TextBox上,而不显示在其他TextBox上。因此,为什么我要强制键盘显示。

修改 我已经找到了一种显示"虚拟平板电脑键盘的方法,但是我想使用InputPane类来实现它。有人能为我提供一个示例代码,只是为了让我开始吗?

使用InputPane类>打开的代码

System.Diagnostics.Process.Start("TabTip.exe");

1 个答案:

答案 0 :(得分: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);

但是我必须在HKEY_CURRENT_USER\SOFTWARE\Microsoft\TabletTip的{​​{1}}上的regedit上添加一个键(MANUALLY)值,该键是一个名为1.7的文件夹(这将在未来由Microsoft更改)并添加一个名为{的32位DWORD值值EnableDesktopModeAutoInvoke的{​​1}}。这意味着TRUE。它应该是这样的:

REGEDIT

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

建议:

考虑一下,为您创建的每个流程执行流程限制。我建议你在textbox(任何输入法)请求焦点时使用它。当组件失去焦点时,请务必停止该过程。

希望这有帮助。

enter image description here