Visual c++ 在Windows C++应用程序中获取图形卡名称和信息的最佳方式是什么?
我正在尝试从客户端计算机中提取一些信息,这些信息的格式几乎与从dxdiag.exe中看到的格式完全相同:Visual c++ 在Windows C++应用程序中获取图形卡名称和信息的最佳方式是什么?,visual-c++,mfc,directx,dxgi,Visual C++,Mfc,Directx,Dxgi,我正在尝试从客户端计算机中提取一些信息,这些信息的格式几乎与从dxdiag.exe中看到的格式完全相同: 我意识到应该有一个API来实现这类功能,但是要访问这个工具。非常感谢您的帮助。对于Windows Vista或更高版本,请使用 您还可以查看的源代码和示例 我用做COM.< /P> < P>用于Windows Vista或稍后的C++智能指针,使用.< /P> 您还可以查看的源代码和示例 我用C++智能指针为COM.< /P>谢谢您,先生!在研究过程中,我在几家回购协议上都看到了你的名字和
我意识到应该有一个API来实现这类功能,但是要访问这个工具。非常感谢您的帮助。对于Windows Vista或更高版本,请使用 您还可以查看的源代码和示例
我用做COM.< /P> < P>用于Windows Vista或稍后的C++智能指针,使用.< /P> 您还可以查看的源代码和示例
我用C++智能指针为COM.< /P>谢谢您,先生!在研究过程中,我在几家回购协议上都看到了你的名字和图标。从世界上最有资格的人那里得到答案是很酷的。我对C++仍然有点陌生,所以我不确定下面是否正确。我需要添加以下几行代码才能使代码正常工作:``include``include pragma commentlib,DXGI.lib使用Microsoft::WRL::ComPtr;我还必须从这个文件中添加名称空间DX:谢谢,先生!在研究过程中,我在几家回购协议上都看到了你的名字和图标。从世界上最有资格的人那里得到答案是很酷的。我对C++仍然有点陌生,所以我不确定下面是否正确。我需要添加以下几行代码才能使代码正常工作:``include``include pragma commentlib,DXGI.lib使用Microsoft::WRL::ComPtr;我还必须从该文件中添加名称空间DX:
#include <dxgi.h>
#include <wrl/client.h>
#pragma comment(lib, "dxgi.lib")
using Microsoft::WRL::ComPtr;
ComPtr<IDXGIFactory1> dxgiFactory;
HRESULT hr = CreateDXGIFactory1(IID_PPV_ARGS(dxgiFactory.ReleaseAndGetAddressOf()));
if (FAILED(hr)) // ... error handling
ComPtr<IDXGIAdapter1> adapter;
for (UINT adapterIndex = 0;
SUCCEEDED(dxgiFactory->EnumAdapters1(
adapterIndex,
adapter.ReleaseAndGetAddressOf()));
adapterIndex++)
{
DXGI_ADAPTER_DESC1 desc = {};
hr = adapter->GetDesc1(&desc);
if (FAILED(hr)) // ... error handling
if (desc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE)
{
// Don't select the Basic Render Driver adapter.
continue;
}
// desc.VendorId: VID
// desc.DeviceId: PID
// desc.Description: name string seen above
}