Я пытаюсь написать код, который будет получать всю информацию из диспетчера устройств моего компьютера.
У меня есть следующий код:
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);
Но, честно говоря, это не то, что я ищу, потому что в списке, который я получаю, не хватает деталей, которыми обладает панель управления.
Какие-либо предложения?
Задача ещё не решена.