获取显卡型号?(Get the graphics card model?)

2019-06-25 05:10发布

我不知道我怎么能特别是从的DirectX 9.0c得到的代码显卡型号/品牌(从C ++代码)。

Answer 1:

在运行时,可以查询设备型号和供应商:

  • 在OpenGL中,使用命令glGetString(GL_VENDOR)或GL_RENDERER或GL_VERSION得到你之后的信息。

  • 在DirectX 9,它显示的信息是在Microsoft配置系统,并从设备数据库中查询。 这是该文件,其中也有示例代码的第3部分: http://msdn.microsoft.com/en-us/library/bb204848(VS.85).aspx使用相同的系统,你可以得到这样的信息的量公羊显卡了,司机号码等



Answer 2:

在DirectX最简单的方法就是通过IDirect3D9 :: GetAdapterIdentifier 。

只要创建一个D3DADAPTER_IDENTIFIER9对象,指针传递给它GetAdapterIdentifier。 的DirectX填写显卡的描述中说明字段的字符串。 这也包括在其显示设备的卡信息,以及什么驱动程序版本你有。

你得到的东西是这样的:

  • 说明: “NVIDIA的GeForce GTX 570”
  • 设备: “\ \ DISPLAY1。”
  • 司机: “nvd3dum.dll”


Answer 3:

看看第2章的Direct3D从我的书的Direct3D图形管道 。 见2.12,标识特定设备的。



Answer 4:

你可以在样DxDiagOutput使用“DirecX诊断工具” API,就像从DX SDK http://msdn.microsoft.com/en-us/library/ee416986%28v=VS.85%29.aspx



Answer 5:

IDirect3D9* d3dobject = Direct3DCreate9(D3D_SDK_VERSION);
D3DPRESENT_PARAMETERS d3dpresent;
memset(&d3dpresent, 0, sizeof(D3DPRESENT_PARAMETERS));
d3dpresent.Windowed = TRUE;
d3dpresent.SwapEffect = D3DSWAPEFFECT_DISCARD;
UINT adaptercount = d3dobject->GetAdapterCount();
D3DADAPTER_IDENTIFIER9* adapters = (D3DADAPTER_IDENTIFIER9*)malloc(sizeof(D3DADAPTER_IDENTIFIER9) * adaptercount);

for (int i = 0; i < adaptercount; i++)
{
      d3dobject->GetAdapterIdentifier(i, 0, &(adapters[i]));
}

然后得到适配器的说明(适配器 - >说明)



文章来源: Get the graphics card model?