VB6背景程序,如何在另一个应用程序上检测条形码扫描

VB6背景程序,如何在另一个应用程序上检测条形码扫描,vb6,Vb6,我正在构建一个后台vb程序,用于检测另一个应用程序上的条形码扫描。如果检测到某个字符串,我希望使用VB中的keySend命令向正在运行的应用程序添加另一个字符串。我可以从按键或向下键读取字符串,但不能读取条形码扫描仪。在名为Timer1 Private Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As KeyCodeConstants) As Long Private barcode As String Private

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

在名为
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

这是一个键盘记录器。它将记录所有按下的键。将计时器间隔设置为扫描仪的速度,以避免重复击键。

在名为
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

这是一个键盘记录器。它将记录所有按下的键。将计时器间隔设置为扫描仪的速度,这样您就不会重复击键。

如果我理解正确,您的问题是如何检测应用程序何时扫描代码

如何执行扫描、手动键盘输入或使用条形码扫描仪设备

如果它使用的是设备,那么这一切都取决于设备。我只使用过一些设备,它们所做的是,每当你扫描某个东西时,它就会将数据从条形码复制到剪贴板(就像你按下CTRL+C复制一行文本一样)


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

如果我理解正确,你的问题是如何检测应用程序何时扫描代码

如何执行扫描、手动键盘输入或使用条形码扫描仪设备

如果它使用的是设备,那么这一切都取决于设备。我只使用过一些设备,它们所做的是,每当你扫描某个东西时,它就会将数据从条形码复制到剪贴板(就像你按下CTRL+C复制一行文本一样)


因此,您所要做的就是监视剪贴板中的特定字符串,然后执行任何需要执行的操作。

为什么要使用VB6?您的目标是什么操作系统。为什么要使用VB6?你的目标是什么操作系统。从未见过条形码扫描仪使用剪贴板。“始终可见”,然后像键盘一样操作,只需发送击键。你用的是什么扫描仪?哦,我不记得了,可能已经5年多了。这是一个简单的小型手持设备。它非常可靠,易于使用,不需要安装或软件。您只需将扫描仪插入USB并使用它。每次扫描代码时,它都会将代码复制到剪贴板并模拟CTRL+V,这意味着如果光标位于文本框、记事本或windows环境中任何可以粘贴到的内容中,它会将代码从剪贴板粘贴到其中。在幕后使用剪贴板几乎总是一个坏主意。您会干扰最终用户的剪贴板操作。我非常怀疑一家真正的公司会出售这样做的东西。我使用的所有条形码扫描器在扫描时都像键盘一样直接将字符发送到光标。可能是您选择了一个设置,但我不认为它是标准设置,也不认为它是此功能的代码-它只是不好。@Dan Verdolino关于剪贴板部分,您可能是对的,这可能是设置的一部分,也可能只是特定于该应用程序的自定义行为。从未见过条形码扫描仪使用剪贴板。“始终可见”,然后像键盘一样操作,只需发送击键。你用的是什么扫描仪?哦,我不记得了,可能已经5年多了。这是一个简单的小型手持设备。它非常可靠,易于使用,不需要安装或软件。您只需将扫描仪插入USB并使用它。每次扫描代码时,它都会将代码复制到剪贴板并模拟CTRL+V,这意味着如果光标位于文本框、记事本或windows环境中任何可以粘贴到的内容中,它会将代码从剪贴板粘贴到其中。在幕后使用剪贴板几乎总是一个坏主意。您会干扰最终用户的剪贴板操作。我非常怀疑一家真正的公司会出售这样做的东西。我使用的所有条形码扫描器在扫描时都像键盘一样直接将字符发送到光标。可能是您选择了一个设置,但我不认为它是标准设置,也不认为它是此功能的代码-这很糟糕。@Dan Verdolino您可能对剪贴板部分的看法是正确的,这可能是设置的一部分,或者只是特定于该应用程序的自定义行为。