最近做的项目,USB接口的ID卡,当焦点在文本框的时候,扫描ID卡自动将ID卡号写到文本框中。但是现在需求是ID卡号和用户ID对应,在扫描ID卡以后。后台就可以获取到ID卡号,然后再完成从ID卡号到用户ID的对应。在网上找的资料,USB的ID卡读卡器是模拟键盘消息的。所以希望在文本框中可以手动输入用户ID,但是不允许扫描的ID卡号在文本框中显示出来。现在想到的办法是区分硬件键盘的按键消息和模拟的按键消息进行区分来判断,不过如何区分两种消息就不知道怎么弄了。求大家帮帮忙啊。万分感谢。
------解决思路----------------------
USB读卡器一般可以有两个工作模式,‘USB HID’和‘键盘模拟’。因此,你可以
1、使用HID模式直接读写USB设备,比较麻烦,但现成的HID库也很多(比如可以搜索hid sharp,或hid dotnet,或hid lib等等)。
2、还是使用键盘模拟。即使在文本框中显示ID卡号,也没有什么大不了的。你还可以通过模式匹配,一旦发现卡号,换成用户名就可以了。
------解决思路----------------------
看看你的设备的设置说明书,看看它如何设置“前缀和后缀”。比如说通过设备而读取到的数据可以设置为让设备自动加上前后缀[email protected]!结尾,这就可以区分了。
------解决思路----------------------
你把问题好像弄的复杂了,继续陷入下去甚至采用你的方法1的话,我看你的用户以后想换用户卡跟读卡器的机会都没了,被你绑死了,没必要。
不清楚你为何不能ID卡输入框跟用户ID输入框分开用两个输入框,随便输入哪个,各自的enter实现不同字段检索,是放不下吗?你分开就没这些事情。