【问题标题】:How to find device using GUID in C++如何在 C++ 中使用 GUID 查找设备
【发布时间】:2012-05-08 14:43:41
【问题描述】:

这是一个两部分的问题。

首先,这是我的代码:

#include<iostream>
#include<Windows.h>

extern "C"
{
#include<hidsdi.h>
#include<SetupAPI.h>
}

int main()
{
    int iQuit;
    GUID guid;

    HidD_GetHidGuid(&guid);
    //SetupDiGetClassDevs(NULL, NULL, NULL, 

    std::cout << "testing program" << std::endl;
    std::cout << guid.Data1 << std::endl;
    std::cout << guid.Data2 << std::endl;
    std::cout << guid.Data3 << std::endl;
    std::cout << guid.Data4 << std::endl;

    std::cin >> iQuit;

    return 0;
}

结果被打印出来:

1293833650
61807
4559
//Data4 prints out e pie for some reason.

所以我的第一个问题是,有没有办法检查我在这里得到的 guid 属于哪个设备?我查看了设备管理器部分,但似乎找不到。

我的第二个问题是如何循环遍历所有设备并将所有 guid 存储在计算机上?

我们将不胜感激任何建议和帮助。很抱歉这么长的消息

谢谢

【问题讨论】:

  • GUID 用于所有内容。一个特定的 GUID 根本不需要属于任何设备。设备的枚举取决于设备类型。您要附加哪种类型的设备?
  • 您得到答案的几率是您提出的问题数量的反二次方。试着只问一个。

标签: c++ device guid hid


【解决方案1】:

函数HidD_GetHidGuid 返回所有 HID 类设备的 GUID,而不是单个设备的 GUID。

要枚举所有设备,请查看SetupDiGetClassDevs 示例 5。

【讨论】:

  • 非常感谢。正是我需要的:)
猜你喜欢
  • 2010-10-28
  • 1970-01-01
  • 2013-12-02
  • 2011-06-26
  • 1970-01-01
  • 2013-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多