VB6后台进程,如何检测另一个应用程序上的条形码扫描

时间:2013-03-15 01:54:47

标签: vb6

我正在构建一个后台vb程序,用于检测另一个应用程序上的条形码扫描。如果检测到某个字符串,我想在VB中使用keySend命令将另一个字符串添加到正在运行的应用程序中。我可以从keypress或keydown读取字符串,但不能读取条形码扫描器。

2 个答案:

答案 0 :(得分:1)

在名为Timer1

的表单上放置一个Timer控件
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来复制一行文本)。

所以你要做的就是监视剪贴板中的特定字符串,然后做你需要做的任何事情。