扫条码不能触发MSComm_OnComm()事件,鼠标不能动,没死机
但昨天没有USB接口的键盘,测试了下面的代码,一切正常。今天买了块USB接口的键盘,运行代码时,MSComm控件不触发onComm事件,说明MSComm控件没有接收到从条码形传输过来的数据。而且鼠标在使用条码仪后也不能动。求助各位高人,望指点,赐教。Private Sub Form_Load()
With MSComm1
.CommPort = 1
.RThreshold = 13
.InputLen = 13
.InBufferCount = 0
.InBufferSize = 1024
.InputMode = comInputModeText
.PortOpen = True
End With
End Sub
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
Text1.Text = MSComm1.Input
List1.AddItem Strcom
MSComm1.InBufferCount = 0
End Select
End Sub --------------------编程问答-------------------- LZ:OnComm事件中未见Strcom的赋值句,如果Text1.Text无任何显示(包含乱码),则可能属于端口冲突.
--------------------编程问答--------------------
条码枪是串口通讯的吗?
--------------------编程问答-------------------- 现在的条码枪基本上都是和键盘输入一样啊,不用做任何处理,难道你用的是插串口上的? --------------------编程问答-------------------- 1、首先使用串口调试器试一试,看看是不是硬件冲突造成的。
2、如果不是硬件冲突,再查看自己的程序。
再者,你的程序似乎有些问题,看看这个行不?
--------------------编程问答--------------------
Private Sub Form_Load()
With MSComm1
.CommPort = 1
.RThreshold = 1
.InputLen = 13
.InBufferCount = 0
.InBufferSize = 1024
.InputMode = comInputModeText
.PortOpen = True
End With
End Sub
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
Mscomm1.RThreshold = 0
Sleep 10 'API函数,等待10ms,需要你自己添加声明
Text1.Text = MSComm1.Input
'List1.AddItem Strcom
MSComm1.InBufferCount = 0
MSComm1.RThreshold = 1
End Select
End Sub
有USB口的。。。如果是COM口。。。建议查看COM的设置是否和条码枪一样。
补充:VB , 基础类