我正在构建一个后台vb程序,用于检测另一个应用程序上的条形码扫描。如果检测到某个字符串,我想在VB中使用keySend命令将另一个字符串添加到正在运行的应用程序中。我可以从keypress或keydown读取字符串,但不能读取条形码扫描器。
答案 0 :(得分:1)
在名为Timer1
Private Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As KeyCodeConstants) As Long
Private barcode As String
Private Sub Timer1_Timer()
Dim keyResult As Integer
Dim chrKey As String
Dim i As Integer
For i = 2 To 90
keyResult = 0
keyResult = GetAsyncKeystate(i)
If keyResult = -32767 Then
chrKey = Chr(i)
barcode = barcode & chrKey
Exit For
End If
Next i
End Sub
这是一个键盘记录器。它将记录所有按下的键。将计时器间隔设置为扫描仪的速度,这样就不会出现重复击键。
答案 1 :(得分:0)
如果我理解正确,您的问题是如何检测应用扫描代码的时间?
如何执行扫描,手动键盘输入或使用条形码扫描仪设备?
如果它使用的是设备,那么一切都取决于设备。我只使用了一些设备,他们所做的就是每当你扫描一些东西时,它会将条形码中的数据复制到剪贴板中(好像你按下CTRL + C来复制一行文本)。
所以你要做的就是监视剪贴板中的特定字符串,然后做你需要做的任何事情。