请问,用vb.net编程让条码扫描仪扫描数据直接输入指定文本框中,这段代码怎么写呢?
用vb.net编程让条码扫描仪扫描数据直接输入指定文本框中,这里指的是不单只是用vb.net做的软件界面,且可以在任何有文本框的软件中输入已扫描的条码。在网上也找了一些代码,但貌似没有这段代码,只有输入显示中自身软件界面的文本框中。
'触发接收事件
Public Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
Me.Invoke(New EventHandler(AddressOf Sp_Receiving)) '调用接收数据函数
End Sub
'接收数据
Private Sub sp_Receiving(ByVal sender As Object, ByVal e As EventArgs)
Dim strIncoming As String
Try
receivebytes.Text = Str(Val(receivebytes.Text) + SerialPort1.BytesToRead)
If SerialPort1.BytesToRead > 0 Then
Threading.Thread.Sleep(100) '添加的延时
strIncoming = SerialPort1.ReadExisting.ToString '读取缓冲区中的数据
SerialPort1.DiscardInBuffer()
receivebox.Text = strIncoming
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
receivebox.Text = strIncoming,这句代码直接显示在当前的界面的文本框中。请问,各位大师,要实现这个功能(用vb.net编程让条码扫描仪扫描数据直接输入指定文本框中)的代码如何写?
[解决办法]
你接收条码扫描仪的程序放到后台去(或者写个托盘界面,把程序放到Windows右下角),把你需要条码录入的窗体处于最前端并处于激活状态。
receivebox.Text = strIncoming
收到数据后执行下面这段代码
My.Computer.Keyboard.SendKeys(strIncoming, True)