我有一个需要虚拟键盘的应用。但是,当我点击我的一些Fragment
时,他们不会显示虚拟键盘。我试过用这个:
TextBox
但这会打开另一个键盘,在System.Diagnostics.Process.Start("osk.exe");
无焦点后不会关闭。如何强制win10打开虚拟平板电脑键盘?
让自己明确:
这是在win10触摸屏电脑上运行的。启用平板电脑模式后,虚拟键盘会显示在某些TextBox
上,而不显示在其他TextBox
上。因此,为什么我要强制键盘显示。
修改 我已经找到了一种显示"虚拟平板电脑键盘的方法,但是我想使用InputPane类来实现它。有人能为我提供一个示例代码,只是为了让我开始吗?
使用InputPane类>>打开不的代码
System.Diagnostics.Process.Start("TabTip.exe");
答案 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。它应该是这样的:
您可以以编程方式添加密钥我认为您需要管理员权限。我尝试以编程方式添加密钥但不起作用,它使条目加倍而没有任何影响(小心);
建议:
考虑一下,为您创建的每个流程执行流程限制。我建议你在textbox(任何输入法)请求焦点时使用它。当组件失去焦点时,请务必停止该过程。
希望这有帮助。