#include <windows.h>
#include <setupapi.h>
#include <devguid.h>
#pragma comment(lib, "setupapi")
void GetDeviceInfo()
{
//得到设备信息集
HDEVINFO hDevInfo = SetupDiGetClassDevs(
(LPGUID)&GUID_DEVCLASS_DISPLAY,
NULL,
0,
DIGCF_PRESENT);
//DIGCF_PRESENT - 只返回当前存在的设备。
//DIGCF_ALLCLASSES - 返回所有已安装的设备。如果这个标志设置了,ClassGuid参数将被忽略。
//DIGCF_PROFILE - 只返回当前硬件配置文件中的设备。
if (hDevInfo == INVALID_HANDLE_VALUE)
{
printf("Error! SetupDiGetClassDevs() return %d\n", GetLastError());
SetupDiDestroyDeviceInfoList(hDevInfo);
return;
}
TCHAR szBuf[MAX_PATH];
SP_DEVINFO_DATA spDevInfoData = { sizeof(SP_DEVINFO_DATA) };
// 开始列举设备
for (DWORD i = 0; SetupDiEnumDeviceInfo(hDevInfo, i, &s