获取控制面板设备C ++

时间:2014-12-24 09:03:45

标签: 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 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);

但说实话,这不是我想要的,因为我所获得的清单缺乏控制面板的详细信息。

有什么建议吗?

0 个答案:

没有答案