我有一个需要虚拟键盘的应用程序。但是,当我点击我的一些TextBox
es,它们不会使虚拟键盘出现。我尝试过使用这个:
System.Diagnostics.Process.Start("osk.exe");
但这会打开另一个键盘,该键盘在TextBox
没有焦点。如何强制win10打开虚拟平板键盘?
为了让自己清楚:
这是在win10触摸屏PC上运行的。当我启用平板电脑模式时,虚拟键盘会显示在某些设备上TextBox
es 而对其他人则不然。这就是为什么我想强制键盘显示。
EDIT:此后我找到了一种显示“虚拟平板电脑键盘”的方法,但是我想使用输入面板 https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.viewmanagement.inputpane班级。有人可以为我提供示例代码来帮助我入门吗?
打开它的代码without使用输入面板 https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.viewmanagement.inputpane class:
System.Diagnostics.Process.Start("TabTip.exe");
一件事。 InputPane,不能在WinForms中使用,InputPane是UWP的一个元素。
我运行了这段代码...并且有效!
string progFiles = @"C:\Program Files\Common Files\Microsoft Shared\ink";
string keyboardPath = Path.Combine(progFiles, "TabTip.exe");
Process.Start(keyboardPath);
但我必须在我的 regedit 上添加一个键(手动)值HKEY_CURRENT_USER\SOFTWARE\Microsoft\TabletTip
密钥内是一个名为 1.7 的文件夹(Microsoft 将来会对此进行更改)并添加一个名为的 32 位 DWORD 值EnableDesktopModeAutoInvoke
有价值1
。这意味着正确。它应该看起来像这样:
您可以以编程方式添加密钥,我认为您需要管理员权限。我尝试以编程方式添加密钥但不起作用,它使条目加倍而没有任何效果(小心);
ADVICES:
考虑一下,为您创建的每个进程执行一个进程停止程序。我想当文本框(在任何输入方法中)请求焦点时您会使用它。当组件失去焦点时,请务必停止该过程。
希望这有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)