我第一次在 Windows 10 Pro x64 上安装了 32 位桌面应用程序。之前它已在 Windows 7 上成功使用。
它是一台带有外部触摸屏显示器的 PC,以 Kiosk 模式使用,因此用户唯一可以使用的就是程序本身。如果没有物理键盘或关闭程序,用户就无法看到任务栏或系统托盘。
在设置/设备/打字下,我选择了“当不处于平板电脑模式且没有连接键盘时显示触摸键盘或手写面板”。
应用程序只有几个地方允许用户输入。键盘在 Windows 登录时以及在使用 TextBox 的屏幕上显示良好。但有几个地方使用通用的 InputBox 对话框,键盘不会出现。
我尝试了“将标准键盘布局添加为触摸键盘选项”,但似乎没有效果。
将 OSK 设置为自动启动(我以前在 Windows 7 中就是这么做的)非常尴尬,因为你不能将其最小化,否则它会丢失到隐藏的系统托盘中,而且与其他键盘相比它的尺寸过大。
我是否需要检查其他设置才能使其正常工作?
更新:TextBox 打开键盘的原因是它被分配了一个密码字符。普通的 TextBox 也不会打开键盘。
答案1
使用该程序并进行进一步研究,我可以总结出键盘在 WinForm 程序中自动出现的位置。
TextBox
并PasswordChar
设置属性。ComboBox
属性DropSownStyle
设置为DropDown
的A。
我发现没有办法让InputBox
使用触摸。我最终用 TextBox 创建了一个自定义表单,并将一些自定义例程附加到的 Enter 和 Leave 事件TextBox
。
由于这不是编程网站,因此我就简短地说一下。
我使用来TabletDeviceCollection
查看计算机是否有TabletDevice
带有Type
的TabletDeviceType.Touch
。
如果确实如此,我就会像这样启动键盘:
Process.Start("C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe")
然后为了关闭它,我调用非托管Win32
函数 FindWindow("IPTIP_Main_Window", "")
来获取句柄,然后调用另一个 WIn32 向其发送消息。SendMessage(handle, WM_SYSCOMMAND, SC_CLOSE, 0)
要了解更多信息,请搜索这些短语。