我正在构建一个后台 vb 程序,用于检测另一个应用程序上的条形码扫描。如果检测到某个字符串,我想通过在 VB 中使用 keySend 命令将另一个字符串添加到正在运行的应用程序中。我可以从 keypress 或 keydown 读取字符串,但不能从条形码扫描仪读取字符串。
问问题
3378 次
2 回答
1
在名为的窗体上放置一个 Timer 控件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 回答