QT做一个USB HID设备识别软件

1.下载 HidApi库:GitHub - yigityuce/HidApi: Human Interface Device Api (HidApi) with C++ 

2.pro文件添加

DEFINES -= UNICODE
LIBS += -lsetupapi

3.建立三个对象

    HidApi hidApi;
    HidDevice hidDev;//HID设备
    HidDeviceList devList;//HID设备列表

 4.对 HID 设备进行扫描,存入列表,并选择需要进行通信的赋给 hidDev

    hidApi.isInitialized();
    devList = hidApi.scanDevices();
    for(size_t i = 0; i < devList.size(); i++)//可打印扫描到的设备的信息
    {
        qDebug() << i + 1 << ". DEVICE\n";
        qDebug() << "Path        : " << devList[i].getPath().c_str();
        qDebug() << "Vendor Id   : " << devList[i].getVendorId();
        qDebug() << "Product Id  : " << devList[i].getProductId();
        //qDebug() << "Serial      : " << devList[i].getSerial();
        //qDebug() << "Manufacturer: " << devList[i].getManufacturer();
        //qDebug() << "Product     : " << devList[i].getProductString();
        qDebug() << "Release No  : " << devList[i].getRelease();
        qDebug() << "Usage Page  : " << devList[i].getUsagePage();
        qDebug() << "Usage       : " << devList[i].getUsage();
        qDebug() << "Interface   : " << devList[i].getInterface();
        qDebug() << "-----------------------------------------------";

        Out_Edit.append(QString("%1").arg(i + 1) + ". DEVICE");
        Out_Edit.append(devList[i].getPath().c_str());
        Out_Edit.append("Serial      : " + QString::fromStdWString(devList[i].getSerial()));
        Out_Edit.append("Manufacturer: " + QString::fromStdWString(devList[i].getManufacturer()));
        Out_Edit.append("Product     : " + QString::fromStdWString(devList[i].getProductString()));
        Out_Edit.append("Vendor Id   : " + QString("0X%1").arg(devList[i].getVendorId(), 4, 16, QLatin1Char('0')));
        Out_Edit.append("Product Id  : " + QString("0X%1").arg(devList[i].getProductId(),4, 16, QLatin1Char('0')));
        Out_Edit.append("Release No  : " + QString("%1").arg(devList[i].getRelease(),    4, 10, QLatin1Char('0')));
        Out_Edit.append("Usage Page  : " + QString("%1").arg(devList[i].getUsagePage(),  4, 10, QLatin1Char('0')));
        Out_Edit.append("Usage       : " + QString("%1").arg(devList[i].getUsage(),      4, 10, QLatin1Char('0')));
        Out_Edit.append("Interface   : " + QString("%1").arg(devList[i].getInterface(),  4, 10, QLatin1Char('0')));
        Out_Edit.append(0);
    }

 5.看看效果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值