最近需要在win XP系统的工控机上进行程序的开发,工控机是电阻式触摸屏,需要在上面使用触摸键盘,使工控机可以脱离鼠标和键盘独立运行程序。调研后得到一系列的解决方案,mark如下:
(1)自己在程序中开发虚拟键盘
这个是最先想到的,本人用C#进行开发,所以只关注C#相关的虚拟键盘开发。看了一些开发的帖子,自己开发虚拟键盘的关键在于:不要使用类似按钮这样控件去开发键盘,因为这些控件会使输入框的焦点转移。恰当的方式是使用图片去模拟键盘,然后通过判断鼠标点击的坐标位置计算出点击的是哪一个按键。其他的细节就不深究了。
相关链接:
A Software Virtual Keyboard for Your WPF Apps
On-screen Keyboards
Touchscreen Keyboard UserControl
.NET Winform Keyboard control
(2)使用windows自带的屏幕键盘(osk.exe)
考虑过,但是屏幕只有10.4寸,键盘太小,电阻式触摸屏上手根本点不到,太费劲了。除非屏幕够大,否则pass。win XP 下如果精简过,可以在网上下载到XP屏幕键盘的文件osk.exe和msswch.dll,放到系统的system32文件夹下,就可以通过运行osk.exe调出屏幕键盘。
参考链接:
Keyboard on the screen in WinForms
(3)使用其他屏幕键盘软件
开始没有考虑使用这个,最后发现这个是最简单有效的。只推荐这个:
虚拟屏幕键盘(Hot Virtual Keyboard) v5.3.1.0中文绿色版
Hot Virtual Keyboard – 华丽的屏幕键盘
这个软件非常好用,可以完全替代系统自带的屏幕键盘,而且还可以自定义各种风格的键盘。建议有米的同学们都购买支持正版。
另外这个软件还凑合,毕竟不要钱:
简单屏幕键盘 3.1 绿色版