您的位置:首页 > 编程语言

获取本机所有显卡的信息--代码

2008-10-12 21:19 375 查看
我相信有人需要这个。

HDEVINFO hDevInfo = NULL;

DWORD dwIndex = 1;

SP_DEVINFO_DATA DevInfo_data;

ZeroMemory(&DevInfo_data, sizeof(SP_DEVINFO_DATA));

DevInfo_data.cbSize = sizeof(SP_DEVINFO_DATA);

hDevInfo = SetupDiGetClassDevs(

(LPGUID) &GUID_DEVCLASS_DISPLAY,

0, // Enumerator

0,

DIGCF_PRESENT

);

if (hDevInfo == INVALID_HANDLE_VALUE)

{

return;

}

for (int i = 0; SetupDiEnumDeviceInfo(hDevInfo, i, &DevInfo_data); i++)

{

DWORD DataT;

LPTSTR buffer = NULL;

DWORD buffersize = 0;

CString strFinder;

while (!SetupDiGetDeviceRegistryProperty(

hDevInfo,

&DevInfo_data,

SPDRP_DEVICEDESC,

&DataT,

(PBYTE)buffer,

buffersize,

&buffersize)

)

{

if (GetLastError() == ERROR_INSUFFICIENT_BUFFER)

{

// Change the buffer size.

if (buffer)

LocalFree(buffer);

buffer = (LPTSTR)LocalAlloc(LPTR, buffersize); //这里已经取得显卡的名字

}

else

{

if (buffer)

LocalFree(buffer);

break;

}

}

if (buffer)

LocalFree(buffer);

}

return;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: