首页 新闻 会员 周边

怎么直接从USB扫码枪取数据?

0
悬赏园豆:100 [已解决问题] 解决于 2023-10-06 11:00

不通过钩子和焦点,直接从US扫码枪取数据,有什么办法吗

leafroc的主页 leafroc | 初学一级 | 园豆:112
提问于:2023-05-19 17:55
< >
分享
最佳答案
0

通常情况下,从扫码qiang读取数据需要在计算机上安装相应的驱动程序,并且在我们的程序中使用键盘钩子来捕获按键事件。

如果您需要绕开键盘钩子和焦点直接从扫码qiang读取数据,可以考虑以下两种方法:

  1. 借助扫码qiang自身的 API。许多扫码qiang生产商提供 API 库,可以让我们直接从扫码qiang读取数据。如果您的扫码qiang有这样的 API,您可以通过调用这个 API 来读取数据,而不需要使用键盘钩子和焦点。

  2. 使用 USB 设备接口技术。如果您的扫码qiang支持 USB 设备接口,您可以通过 Windows 上的 USB 库(例如 LibUSB 或 WinUSB)将扫码qiang作为 USB 设备进行访问。这样,您可以直接从扫码qiang读取数据,而不需要使用键盘钩子和焦点。

无论哪种方法,都需要您查看相应的文档,并仔细研究如何集成到您的应用程序中。另外,这些方法可能需要一定的开发和调试时间,所以请谨慎考虑。

收获园豆:100
lanedm | 老鸟四级 |园豆:2381 | 2023-05-22 08:53

回答个问题,还有人直接用AI生成的答案来这里应付

需要格局 | 园豆:2145 (老鸟四级) | 2023-05-26 11:28
其他回答(6)
0

https://www.zhihu.com/question/271616218

可不可以买个USB转串口的线,通过串口接收数据。

LiveCoding | 园豆:497 (菜鸟二级) | 2023-05-22 10:48
0

从 USB 扫码枪直接获取数据的方法取决于您的操作系统和编程语言。一种常见的方法是通过读取 USB 输入设备的数据流来获取扫码枪数据。在 Windows 操作系统中,可以使用 HID API 或 WinUSB 来访问 USB 设备并读取其输入数据。在 Linux 和 macOS 中,可以使用 libusb 库来访问 USB 设备。

以下是一个简单的 Python 示例代码,演示如何使用 PyUSB 和 libusb 库从 USB 扫码枪中获取数据:

python
import usb.core

找到 USB 设备(扫码枪)

dev = usb.core.find(idVendor=0x1234, idProduct=0x5678)

如果找到了设备,则开始读取输入数据

if dev is not None:
# 设置 USB 设备配置
dev.set_configuration()

endpoint = dev[0][(0,0)][0]  # 获取输入端点

while True:
    try:
        data = dev.read(endpoint.bEndpointAddress, endpoint.wMaxPacketSize)
        code = ''.join([chr(x) for x in data])  # 将二进制数据转换为字符串
        print(f"扫码结果:{code}")
    except usb.core.USBError as e:
        if e.args == ('Operation timed out',):
            continue

else:
print("未找到扫码枪")

lynnk1ng | 园豆:202 (菜鸟二级) | 2023-05-22 17:56
0

什么牌子的扫码qiang?建议仔细阅读厂商提供的Sdk!

高盐值的咸鱼 | 园豆:206 (菜鸟二级) | 2023-05-26 15:08
0

上面chatgpt回答的内容太虚,还不如看我发的这个
Java在后台获取USB二维码扫描枪扫描的内容

ycyzharry | 园豆:25673 (高人七级) | 2023-05-27 01:47
0

扫码枪本身是有规则的,咨询一下官方客服就知道了,比如有串口方式,USB方式,发送命令后回复数据还是定时自动回复数据,这些都是可设置的

jqw2009 | 园豆:2439 (老鸟四级) | 2023-06-07 09:29
0

可以使用USB检测机制来获取USB扫码枪的数据。在Linux中,有几个文件/目录可以帮助您检测连接到计算机的USB设备:

  1. /proc/bus/usb/devices - 该文件提供有关USB设备的详细信息,包括供应商ID,设备ID,设备版本和厂商名称等。

  2. /sys/bus/usb/devices - 这是帮助识别USB设备的另一个目录。在该目录中,您可以找到有关USB控制接口,设备ID,供应商ID,设备类,子类和协议等信息。

可以使用inotify工具来监听这些目录,以捕获与USB设备相关的文件系统事件。一旦您检测到扫码枪的USB连接,您可以打开相应的USB设备文件/目录,并在后台循环读取文件中的数据。在这个过程中,您不需要使用钩子或焦点,因为您直接与USB设备通信。

值得注意的是,这种方法可能需要较高的系统权限,而且需要管理许多细节,因此使用此方法时需要非常小心。

小九九呀 | 园豆:383 (菜鸟二级) | 2023-06-17 20:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册