vb界面,text只接受条纹码扫描器的信息,自动屏蔽键盘信息,用API拦截,具体怎么写啊?

 我来答
乐游原上的歌者
2013-11-13 · TA获得超过383个赞
知道小有建树答主
回答量:278
采纳率:71%
帮助的人:231万
展开全部
条码扫描器和键盘共用一个键盘接口,对于同样一个字符(如A),输入的代码应该是相同的,所以根本不可能通过输入的字符代码来判定输入设备的类型
要实现此功能,只能另想办法。.
键盘输入一串字符要多少时间?条纹码扫描器呢?
噎死,用时间函数。OK
首先,不要用TEXT控件来接收输入信息,而改用一个字符串变量来接收,当判定完成后再决定是否将变量赋予给文本框。
我们用两个时间变量来计算输入时间。
当接受到第一个信号时,记录下起始时间,当接收到“回车”(CHR(13))信号时,记录下结束时间
然后,计算出输入时间长度,最后和一个预设长度(你可以通过实验来测试这个数值)来比较,如果超时则为键盘,字符串变量清空,否则,字符串变量赋予给文本框。
当然,还有些问题要注意,比如,当输入的第一个字符是回车键时应该如何处理?当接收到某些功能键时应该如何处理?(条码扫描器输入的都是字符)字符串变量每次改变后输入信息应该如何处理?如果是某种特定类型的条码呢?条码的最短长度?等等。所有细节都要考虑。
在Text1_KeyPress事件里处理
知道怎样写了吗?
更多追问追答
追问
假如用串口的扫描器是不是就不存在这样的问题啦
追答
你用过串口键盘吗?串口鼠标呢?早年确实有的
除非你事先知道它们各自的接口。然后在Text1_KeyPress事件中判断该信号来自哪里,这已经涉及到底层的操作了。VB并不赞成使用(当然VB有这来API函数)。而且这样更复杂
另外有个问题。当光标在文本框中时,你不想扫描而想做别的操作,那你该怎么办?
然后去远足
2013-11-12 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2428万
展开全部

这个还用 API 干嘛,直接屏蔽按键不就好了?

Private Sub Text1_KeyPress(KeyAscii As Integer)
    KeyAscii = 0 '屏蔽所有按键 
End Sub
追问
你这样一来,条码扫描器的信息都也屏蔽掉了,我要屏蔽键盘信息,只接受条码扫描器信息
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
buhui2013
2013-11-12
知道答主
回答量:21
采纳率:100%
帮助的人:7.6万
展开全部
用label控件吧,即满足要求,越简单越好。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式