获取控制面板设备C++

获取控制面板设备C++,c++,windows,device-driver,device,device-manager,C++,Windows,Device Driver,Device,Device Manager,我正在尝试编写一些代码,从我的计算机的设备管理器中获取所有信息 我有以下代码: HDEVINFO hDevInfo; SP_DEVINFO_DATA DeviceInfoData; DWORD i; // Create a HDEVINFO with all present devices. hDevInfo = SetupDiGetClassDevs(NULL,0,0,DIGCF_PRESENT|DIGCF_ALLCLASSES ); // Enumerate through all devi

我正在尝试编写一些代码,从我的计算机的设备管理器中获取所有信息

我有以下代码:

HDEVINFO hDevInfo;
SP_DEVINFO_DATA DeviceInfoData;
DWORD i;
// Create a HDEVINFO with all present devices.
hDevInfo = SetupDiGetClassDevs(NULL,0,0,DIGCF_PRESENT|DIGCF_ALLCLASSES );
// Enumerate through all devices in Set.
DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
for (i=0;SetupDiEnumDeviceInfo(hDevInfo,i,&DeviceInfoData);i++)
{
    DWORD DataT;
    LPTSTR buffer = NULL;
    DWORD buffersize = 200;
    buffer = (LPTSTR)LocalAlloc(LPTR,buffersize);
    SetupDiGetDeviceRegistryProperty(hDevInfo,&DeviceInfoData, SPDRP_DEVICEDESC, &DataT,(PBYTE)buffer,buffersize,&buffersize);
    printf("Result:[%s]\n", buffer);

    if (buffer) 
        LocalFree(buffer);
}
// Cleanup
SetupDiDestroyDeviceInfoList(hDevInfo);
但老实说,这不是我想要的,因为我得到的列表缺少控制面板所拥有的细节


有什么建议吗?

你能解释一下你要找的信息和你收到的信息吗?当然。芯片组、Cpu、Gpu,我还想知道我的硬盘是sata还是ssd。我认为你使用了错误的技术。试试WMI。从Win32\u Processor中选择*获取CPU信息您不知道需要哪种CPU信息,从Win32\u VideoController中选择VideoProcessor获取GPU信息,从Win32\u DiskDrive中选择InterfaceType获取磁盘信息。