C# 使用 LibUsbDotNet 实现 USB 设备检测

学习记录。

首先,通信流程我们先撸一边,打开USB设备-》发送数据库-》接受数据-》关闭USB设备

根据USB规范的规定,所有的USB设备都有供应商ID(VID)和产品识别码(PID),主机通过不同的VID和PID来区别不同的设备。

下面由我来对这个库的使用进行说明,目前,我们可以从 Github 以及 SourceForge 上下载对应的项目

下载后是一个可执行文件,我们点击安装即可,它会安装好相关的库以及驱动文件,默认的安装目录为:C:\Program Files\LibUsbDotNet。在安装完成后,它会提示我们进入下面的对话框,这一步的目的是给特定的设备安装 libusb 驱动,因为只有安装了驱动的情况下,接下来的一切才会发生,除非 LibUsbDotNet 会隔空取物。

这里,我们还是选择鼠标这个硬件,你需要重点关注 PID 以及 VID 两个参数,因为这是唯一能区分不同 USB 设备的标识:

在这里插入图片描述

最后,点击 “Install” 按钮即可为当前设备安装 libusb 驱动。接下来的事情就变得非常简单啦,我们只需要通过 NuGet 安装。

 

第一步 nuget下载并安装 LibUsbDotNet

第二步 查看所需打开设备的PID和VID

方法一:电脑上查看

方法二:代码查看 

using System;
using LibUsbDotNet;
using LibUsbDotNet.Main;

namespace LibUSBDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            GetUSBInfo();
            Console.ReadLine();
        }

        public static void GetUSBInfo()
        {
            UsbRegDeviceList allDevices = UsbDevice.AllDevices;
            Console.WriteLine("Found {0} devices", allDevices.Count);
            foreach (UsbRegistry usb in allDevices)
            {
                Console.WriteLine("----------------");
                Console.WriteLine($"Device info: {usb.Device.Info.ProductString}");
                Console.WriteLine($"Pid: { usb.Pid}, VID: {usb.Vid}");
            }
            Console.WriteLine(allDevices.Count);
        }
    }
}

 

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值