有人玩过从无线扫描枪的接受器中读数据吗?

度年如日1668
企业官方账号
2016-02-17 09:46:55
扫描枪分无线与有线两种,有线的一般分USB接口与COM接口两种。
对于USB接口的有线扫描枪,光标要时时定位在需要接受数据的位置,若光标在其它地方,就无法读到扫描到的数据。这是一个弊端。
对COM接口的扫描枪,写代码从COM接口读数据,那么,无能光标是否定位在需要接受数据的位置,都可以读到数据到到想要的地方。
前几天,买了一个299元的无线扫描枪,想来玩一下,使用后,发现这种无线扫描枪的接受器会把扫描到的数据写在光标处,跟USB接口的有限扫描枪一样。一端我把光标移到接受数据的其它地方,那么接受数据的文本框就无法获取扫描到的数据,这是个弊端。解决的唯一方法就是自己写代码从接受器读取数据,那么需要供应商提供接口才行。
...全文
430 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
一笑拔剑 2016-02-25
  • 打赏
  • 举报
回复
引用 5 楼 sysdzw 的回复:
扫描枪就是个输入设备,可以当做键盘一样,键盘打字到光标处你怎么读取数据?要不hook一下系统消息? 话说无线扫描枪你买贵了,我买才一百多块钱。
hook也不好处理 其实等于键盘输入,你不太好区分,有部分是ps2口的,和ps2键盘是一个输入端,更加不好分辨了 不过楼上说的很对应该自己在后台监控预处理比较好
现在还是人类 2016-02-21
  • 打赏
  • 举报
回复
其实类似的方法即使在串口采集上也是必要的,如果不这么做,程序未必能做到稳定,毕竟不同的机器,不同的任务数会影响串口通讯,配置高和配置低的电脑上跑这种程序可能就会有不同的结果,如果你的程序还涉及到网络、图形、数据运算什么的,那在配置低的电脑上就更有可能会出问题,所以数据采集和弃包处理是需要做的,当然不做有时候也可以用,不过建议把它做稳来。
现在还是人类 2016-02-21
  • 打赏
  • 举报
回复
引用 2 楼 CJHLPLFX 的回复:
解决方法: 1.买COM口的无线扫描枪 2.买USB接口的,但对方有提供USB转为COM口的工具
能采集串口数据固然方便很多,但如果只有模拟键盘的扫描枪其实也可以轻松搞定的。 比如用个定时器来读取键码,因为扫描枪通常扫描的都是39条形码,而39码通常会以*号开头,*号结尾。 所以只用在定时器里不停的判断是否有*号按下就可以了,同时记录型号出现以及变化下一个字符的时间。 当出现第一个*号后,就可以调整步骤接收字符串和数字了,以第一个*号出现在定时器的次数决定时长, 这样就可以做是固定时长采样字符了,当再次碰到*号时,并且数据格式合法,就可以触发扫描结束过程。 如果采样期间出现字符长度不合法或过久未遇到*号等请款,就重置采样步骤参数(相当于弃包), 这样你的键码采集才会有稳定性。
zhang304251004 2016-02-20
  • 打赏
  • 举报
回复
用的USB扫描枪,是window系统已经集成了对应的驱动。默认情况下只是会写入对应的在光标。 如果你要做,需要自行开发对应的驱动。
无·法 2016-02-20
  • 打赏
  • 举报
回复
扫描枪就是个输入设备,可以当做键盘一样,键盘打字到光标处你怎么读取数据?要不hook一下系统消息? 话说无线扫描枪你买贵了,我买才一百多块钱。
度年如日1668 2016-02-18
  • 打赏
  • 举报
回复
解决方法: 1.买COM口的无线扫描枪 2.买USB接口的,但对方有提供USB转为COM口的工具
无·法 2016-02-18
  • 打赏
  • 举报
回复
一般客服前台不都是程序一直打开的么。比如超市收银台什么的。 另外不一定要光标。窗体也可以接收按键啊,窗体有个keypreview属性,估计就是出于解决这一问题而设置的属性。
现在还是人类 2016-02-18
  • 打赏
  • 举报
回复
这不是弊端,而是你的开发思路不对。 对于硬件发过来的数据那叫数据采集,你根本不考虑如何去稳定采集数据,而是简单把测试方式拿来进行工作,肯定会有问题。 你应该想办法如何去监控这些接口返回的数据,而不是干等什么光标焦点,然后去读什么文本属性。 如果换个纯图形界面或是完全没有界面的后台程序的需求给你,不能用这种输入控件,估计你的设备就废了。 所以你应该改改你的思路才对。

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧