【问题标题】:how to get vendor id and pid of usb device in qt on windows?如何在 Windows 上的 qt 中获取 USB 设备的供应商 ID 和 PID?
【发布时间】:2012-08-07 11:04:10
【问题描述】:

我在 Windows 上使用 qt。我的程序需要知道插入的 USB 闪存驱动器的供应商 ID 和产品 ID。

我试图从 this topic 实现示例,但我在 WinUsb_Initialize function 上遇到分段错误。

这是我的代码:

HANDLE hDevice = CreateFileA("\\\\.\\PhysicalDrive1", GENERIC_WRITE | GENERIC_READ ,
     FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);

if(hDevice == INVALID_HANDLE_VALUE)
{
    qDebug() << "hDevice - INVALID_HANDLE_VALUE";
}
else
{
    qDebug() << "hDevice handle ok";
    PWINUSB_INTERFACE_HANDLE phWinUSBHandle;
    BOOL result = false;
    result = WinUsb_Initialize(hDevice, phWinUSBHandle); //seg
}

我需要 phWinUSBHandle 来使用WinUsb_GetDescriptor 函数。

如果有任何帮助,我将不胜感激。也许有人知道在 Windows 中获取供应商 ID 和产品 ID 的其他方法?

【问题讨论】:

  • 不,我没找到。

标签: c++ windows qt winapi usb


【解决方案1】:

你推荐过libusb图书馆吗?它可能会对你有所帮助。

【讨论】:

  • 看完this topic,恐怕libusb-win32帮不了我了。稍后我会尝试 libusb-win32。感谢您的重播。
猜你喜欢
  • 2011-02-25
  • 2011-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多