You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mindeo MP725扫描器编程配置及Windows下hidapi读取权限问题求助

问题:Mindeo MP725扫描器编程配置与Windows下hidapi访问权限问题

是否可以对Mindeo MP725扫描器进行编程配置?我正尝试在Windows系统下通过USB收发数据,使用的是Python的hid/hidapi库,该库是当前系统中唯一能识别并适配Mindeo MP725的库。

设备信息

{'path': b'\\?\HID#VID_27DD&PID_0103#6&269d9e14&1&0000#{4d1e55b2-f16f-11cf-88cb-001111110000}\KBD', 
'vendor_id': 10205, 
'product_id': 259, 
'serial_number': 'S/N:E608A04AB4151A4F9C8FA887B58B3D69 Rev: NBRMIAAX1', 
'release_number': 259, 
'manufacturer_string': '2D BarCode Scanner', 
'product_string': '2D BarCode Scanner', 
'usage_page': 1, 
'usage': 6, 
'interface_number': -1}

代码示例

import ctypes
import os
ctypes.CDLL(os.path.dirname(__file__) + '\hidapi.dll')
import hid

vid = 0
pid = 0
path = ''

list_device = hid.enumerate()
for i in list_device:
    if i['product_string'] == '2D BarCode Scanner':
        print(i)
        vid = i['vendor_id']
        pid = i['product_id']
        path = i['path']

with hid.Device(path=path) as h:
    h.nonblocking

    # print(f'Device manufacturer: {h.manufacturer}')
    # print(f'Product: {h.product}')
    # print(f'Serial Number: {h.serial}')

    while True:
        d = h.read(255)
        if d:
            print(d)

报错信息

Traceback (most recent call last):
  File "c:\Users\user\Desktop\x64\MP725.py", line 62, in <module>
    d = h.read(255)
        ^^^^^^^^^^^
  File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\hid\__init__.py", line 163, in read
    size = self.__hidcall(hidapi.hid_read, self.__dev, data, size)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\hid\__init__.py", line 148, in __hidcall
    raise HIDException(err)
hid.HIDException: ReadFile: (0x00000005) Access denied.

我已排查过库本身的访问问题(其他方法均可正常运行,因此认为库无问题),推测Windows将该扫描器识别为键盘类输入设备,从而限制对其的管理,请问该如何解决此问题?


解决方案

1. 切换扫描器工作模式

Mindeo MP725支持切换至HID POS模式或虚拟串口模式,这类模式下设备不会被Windows识别为普通键盘,系统不会独占设备访问权:

  • 查找MP725官方手册,找到对应模式切换的配置条码,直接扫描即可完成模式变更;
  • 切换后重新枚举设备,此时设备的usage_page和usage参数会改变,hidapi可正常读取数据。

2. 禁用设备的键盘类识别

通过设备管理器解除Windows对键盘设备的独占:

  1. 打开「设备管理器」,找到「键盘」分类下的「2D BarCode Scanner」;
  2. 右键选择「禁用设备」,确认后重新运行代码;
  3. 注意:禁用后扫描器无法作为普通键盘输入,仅适合编程控制场景。

3. 以管理员权限运行代码

Windows的权限限制可能阻止非管理员进程访问HID设备:

  • 右键点击Python脚本,选择「以管理员身份运行」;
  • 或在管理员权限的命令提示符/终端中启动Python解释器,再执行脚本。

4. 使用官方SDK

Mindeo针对旗下设备提供专用SDK,比hidapi更适配:

  • 前往Mindeo官方平台下载MP725对应的Windows SDK;
  • 替换hidapi使用官方SDK,可直接处理设备配置与数据交互。

内容的提问来源于stack exchange,提问作者Genius Loci

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 06:15:28