您的位置:首页 > 其它

VC下获得显卡信息

2009-02-22 19:58 477 查看
主要通过Direct 3D的几个函数完成的,包括Direct3DCreate9(),GetAdapterCount(),GetAdapterIdentifier().

其中GetAdapterIdentifier()的描述如下

IDirect3D9::GetAdapterIdentifier

Describes the physical display adapters present in the system when the IDirect3D9 interface was instantiated.

HRESULT GetAdapterIdentifier(
UINT Adapter,
DWORD Flags,
D3DADAPTER_IDENTIFIER9 * pIdentifier
);

D3DADAPTER_IDENTIFIER9返回显卡信息,下面是D3DADAPTER_IDENTIFIER9的定义

typedef struct D3DADAPTER_IDENTIFIER9 {
char Driver[MAX_DEVICE_IDENTIFIER_STRING];
char Description[MAX_DEVICE_IDENTIFIER_STRING];
char DeviceName[32];
LARGE_INTEGER DriverVersion;
DWORD DriverVersionLowPart;
DWORD DriverVersionHighPart;
DWORD VendorId;
DWORD DeviceId;
DWORD SubSysId;
DWORD Revision;
GUID DeviceIdentifier;
DWORD WHQLLevel;
} D3DADAPTER_IDENTIFIER9, *LPD3DADAPTER_IDENTIFIER9;

//代码

LPDIRECT3D9 pD3D=NULL;
pD3D=Direct3DCreate9(D3D_SDK_VERSION);//创建Direct 3D对象
DWORD m_dwNumAdapters=pD3D-> GetAdapterCount();//获得显卡数量
for(UINT iAdapter=0;iAdapter<m_dwNumAdapters;iAdapter++)
{
D3DADAPTER_IDENTIFIER9 di;
pD3D-> GetAdapterIdentifier(iAdapter,0,&di);//获得显卡信息
char  szBuf[256];
sprintf(szBuf,"%s",di.Description);//
MessageBox(szBuf);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: