现在有一个项目是这样的 :
只允许工作人员用扫瞄枪扫瞄序列号 , 不允许工作人员手动输入字母或者数字。 我在google 上找了很多方法 ,用钩子可以屏蔽从键盘上输入字母或者数字 。 但是后来发现 : 扫瞄枪也不能正常用了 ,把扫瞄枪里扫瞄的序列号也给屏蔽了 , 这个问题怎么办啊? 急
解决方案 »
- 运行TEXT里的地址
- vb中callbyname函数
- 困扰我2个星期的用查找关键字所在单元格。excel进程不能自动关闭
- 如何在DataReport中实现横向打印,和横向预览。
- 请教变量定义的基础语法问题,先谢了.别笑话我呀!
- 怎么调用smeidll.dll函数???
- 高分求解一个问题:
- EXCEL的单元格将我的3.00自动转变成了3,能不能让这些单元格不要将我的数据转换掉。
- $$全国各地招网络兼职月薪3000$$
- 难题:那位大哥能帮我连上 202.102.170.242 的 25 好 端口阿 。 我想编游戏的外挂程序。我要程序。谢谢啦
- datareport 作报表,预览时提示 “报表宽带大于纸的宽带”,请问datareport控件WIDTH和reportwidth有什么区别
- vb
不知道你这个是扫描了是录入到哪里的,打个比方,假如扫描后首先会显示到你的程序的文本框中,然后点击什么确定按钮后存入数据库或者打印什么操作的。那么把那个文本框设置为lock状态禁止键盘输入不就行了吗?如果那个程序不是你的那么另当别论了。
或者改用Label控件
再通过端口判断将扫描枪扫出来的信息显示在textbox或label控件中就可以了
参见这个代码。扫描枪就是个键盘,不会有什么特殊的端口,特征码之类的,不过每个设备肯定有自己的keyboard handle。
大同小异,免费的资源
在输入框的keypress事件中把输入框清空
或者在输入框的keyup事件中拦截输入字符
Option Explicit
Dim a As StringPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
a = Text1.Text
End SubPrivate Sub Text1_KeyUp(KeyAscii As Integer)
Text1.Text = a
End Sub
http://topic.csdn.net/u/20110307/14/dff9d358-adfc-4871-a053-f698f28487fc.html
Option Explicit
Dim s As StringPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
s = Text1.Text
End SubPrivate Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
Text1.Text = s
End Sub
如果在keyup事件中利用KeyCode,还可以对输入按键进行判断开放特例
楼主分给的太少了,我这里也有扫描枪,不知道楼主的是PS/2的还是USB得接口,我觉得楼主的问题不是太难,不需要扫描钩子因为嵌入钩子的话可能造成EDIT屏蔽扫描数据。刚上面我说了,直接判断设备ID即可!如果是扫描枪=TRUE.如果是键盘=FALSE。