扫描枪编程请问:usb口和键盘口,和键盘输入一样,怎么判断是键盘还是扫描枪输入的呢
扫描枪编程请教:usb口和键盘口,和键盘输入一样,如何判断是键盘还是扫描枪输入的呢?
扫描枪编程请教:usb口和键盘口,和键盘输入一样,如何判断是键盘还是扫描枪输入的呢?
用扫描枪输入的单独处理,用键盘处理的不必单独处理。
扫描商品时候,能够正确判断这个是扫描输入,赋值给商品的条码字段。
------解决方案--------------------
好像不好判断哦,扫描枪和键盘事件应该是一样的。
------解决方案--------------------
应该是判断不出来的.
在键盘的事件中处理就可以.根据录入的内容.
------解决方案--------------------
判断不出来的。扫描枪就是模拟键盘录入加个回车事件
------解决方案--------------------
扫描枪就相当于模拟键盘输入,但不知道能不能通过端口判断,比较底层的东西没研究过
------解决方案--------------------
你试一下能不能找到扫发送设备的ID或者是中断,应该以设备ID为准
------解决方案--------------------
扫描枪是模拟键盘输入的.
你将光标放在某个输入框.然后使用扫描枪输入.于是就有一串字符串到输入框中.
如果你要判断哪里是扫描枪的输入,哪里是键盘输入的.估计需要截获系统底层消息.然后测试一下扫描枪输入跟键盘输入有什么不同.
另外,大部分扫描枪在输出字符串后面会跟个回车或者换行符号.这个你可以经过测试或者问厂商就知道结束符号是什么.你可以在输入框做个判断,如果有回车符输入,就跳转焦点看看.
还有,扫描枪的输入是连续的.每个字符都是连续的.不间断的一次性输入.而如果用键盘手工输入,那就没有那么连续了.
------解决方案--------------------
你可以看看是否通过截获底层消息能否获得输入设备类型.估计这样就可以.
------解决方案--------------------
试试这个办法:
最后一个字符与最后的一个回车符相隔的时间如果小于一个值你就判断它是扫描枪输入,如果大于那个值你就判断为键盘输入。。。
因为一般来说扫描枪在输入时,后面都会根一个回车符,这个回车符是自动输入的,应该是很快的。
手动用键盘输入应该达不到那个速度。
------解决方案--------------------
hook
判断字符录入速度,基本上手工输入很慢!这个可行!
------解决方案--------------------
如果自己写程序,解决这个问题很简单,就是在你的扫码前面加上一个或者几个特殊符号,例如我的程序中,若出现连续输入 ^^ (编码的前2位就是这两个字符),我则认为这是一个扫枪在扫描,直至遇到回车,输入结束。
当然,^^ 可以在显示的时候屏蔽掉,让客户看到的只是0123456789之类的编码。若程序中有地方需要输入连续的 ^^,则重新选择字符即可。
------解决方案--------------------
那如果遇到复制怎么判断呢?
------解决方案--------------------
前面的朋友已經說得差不多了,我就頂一下
------解决方案--------------------
扫描枪有回车的啊朋友
扫描枪编程请教:usb口和键盘口,和键盘输入一样,如何判断是键盘还是扫描枪输入的呢?
用扫描枪输入的单独处理,用键盘处理的不必单独处理。
扫描商品时候,能够正确判断这个是扫描输入,赋值给商品的条码字段。
------解决方案--------------------
好像不好判断哦,扫描枪和键盘事件应该是一样的。
------解决方案--------------------
应该是判断不出来的.
在键盘的事件中处理就可以.根据录入的内容.
------解决方案--------------------
判断不出来的。扫描枪就是模拟键盘录入加个回车事件
------解决方案--------------------
扫描枪就相当于模拟键盘输入,但不知道能不能通过端口判断,比较底层的东西没研究过
------解决方案--------------------
你试一下能不能找到扫发送设备的ID或者是中断,应该以设备ID为准
------解决方案--------------------
扫描枪是模拟键盘输入的.
你将光标放在某个输入框.然后使用扫描枪输入.于是就有一串字符串到输入框中.
如果你要判断哪里是扫描枪的输入,哪里是键盘输入的.估计需要截获系统底层消息.然后测试一下扫描枪输入跟键盘输入有什么不同.
另外,大部分扫描枪在输出字符串后面会跟个回车或者换行符号.这个你可以经过测试或者问厂商就知道结束符号是什么.你可以在输入框做个判断,如果有回车符输入,就跳转焦点看看.
还有,扫描枪的输入是连续的.每个字符都是连续的.不间断的一次性输入.而如果用键盘手工输入,那就没有那么连续了.
------解决方案--------------------
你可以看看是否通过截获底层消息能否获得输入设备类型.估计这样就可以.
------解决方案--------------------
试试这个办法:
最后一个字符与最后的一个回车符相隔的时间如果小于一个值你就判断它是扫描枪输入,如果大于那个值你就判断为键盘输入。。。
因为一般来说扫描枪在输入时,后面都会根一个回车符,这个回车符是自动输入的,应该是很快的。
手动用键盘输入应该达不到那个速度。
------解决方案--------------------
hook
判断字符录入速度,基本上手工输入很慢!这个可行!
------解决方案--------------------
如果自己写程序,解决这个问题很简单,就是在你的扫码前面加上一个或者几个特殊符号,例如我的程序中,若出现连续输入 ^^ (编码的前2位就是这两个字符),我则认为这是一个扫枪在扫描,直至遇到回车,输入结束。
当然,^^ 可以在显示的时候屏蔽掉,让客户看到的只是0123456789之类的编码。若程序中有地方需要输入连续的 ^^,则重新选择字符即可。
------解决方案--------------------
那如果遇到复制怎么判断呢?
------解决方案--------------------
前面的朋友已經說得差不多了,我就頂一下
------解决方案--------------------
扫描枪有回车的啊朋友