1

別のアプリケーションでバーコード スキャンを検出するバックグラウンド vb プログラムを作成しています。特定の文字列が検出された場合、VB で keySend コマンドを使用して、実行中のアプリケーションに別の文字列を追加したいと思います。キープレスまたはキーダウンから文字列を読み取ることはできますが、バーコードスキャナーは読み取れません。

4

2 に答える 2

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

これはキーロガーです。押されたすべてのキーを記録します。タイマー間隔をスキャナーの速度に設定して、キーストロークが重複しないようにします。

于 2013-03-15T04:44:05.590 に答える
0

私があなたを正しく理解していれば、あなたの問題は、アプリがコードをスキャンしたときを検出する方法ですか?

スキャンはどのように実行されますか、手動キーボード入力またはバーコード スキャナー デバイスの使用ですか?

デバイスを使用している場合は、すべてデバイスに依存します。私はほんの数台のデバイスで作業しましたが、何かをスキャンするたびに、バーコードからクリップボードにデータをコピーしました (CTRL + C を押してテキスト行をコピーしたかのように)。

したがって、クリップボードで特定の文字列を監視し、必要なことを実行するだけです。

于 2013-03-15T18:09:23.843 に答える