这是一个两部分的问题。
首先,这是我的代码:
#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存储在计算机上?
任何建议和帮助将不胜感激。抱歉,很长的信息
谢谢
最佳答案
函数HidD_GetHidGuid
返回所有HID类设备的GUID,而不是单个设备的GUID。
要枚举所有设备,请看SetupDiGetClassDevs示例5。
关于c++ - 如何在C++中使用GUID查找设备,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10500881/