我有一个需要虚拟键盘的应用程序.但是,当我点击我的一些内容时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)
一件事。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 位 DWORDEnableDesktopModeAutoInvoke值1。这意味着正确。它应该看起来像这样:
您可以以编程方式添加密钥,我认为您需要管理员权限。我尝试以编程方式添加密钥但不起作用,它使条目加倍而没有任何效果(小心);
建议:
考虑一下,为您创建的每个进程执行一个进程停止程序。我想当文本框(任何输入法)请求焦点时您会使用它。当组件失去焦点时,请务必停止该过程。
希望这有帮助。
| 归档时间: |
|
| 查看次数: |
2616 次 |
| 最近记录: |