“该进程无法访问该文件,因为它正被另一个进程使用HRESULT0x80070020”使用 c# 应用程序连接到条形码扫描仪时出错

问题描述

我有一个 c# 应用程序,它使用设备 vendorID(VID) 和 ProductID(PID) 连接到处于 HID 模式的条形码扫描仪。使用设备 VID 和 PID,我们将构建设备路径,我们将调用以下代码来创建内核对象文件,以便我们获得设备的句柄。

// Allocate a file object in the kernel,then return a handle to it.
    [DllImport("kernel32",CharSet = CharSet.Auto,SetLastError = true)]
    protected extern static SafeFileHandle CreateFile(String DevicePath,uint dwDesiredAccess,System.IO.FileShare dwShareMode,IntPtr securityAttrs_MustBeZero,System.IO.FileMode dwCreationdisposition,uint dwFlagsAndAttributes,IntPtr hTemplateFile_MustBeZero);

以上代码适用于除 Zebra DS457 扫描器之外的大多数条码扫描器 上面这行代码抛出“进程无法访问该文件,因为它正在被另一个进程使用。 HRESULT 0x80070020”错误仅在尝试连接到 Zebra DS457 扫描器时。 我不确定为什么这只发生在这台扫描仪上。非常感谢您对此提出的任何建议。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)