获取设备显示信息

获取显示设备信息:

/************************************************************************
	FileName:main.cpp
	Descript:获取显卡信息
	Author:绝望的老猫
	Date:2012/12/23
************************************************************************/

#include 
#include 
#include 
#include 

using namespace std;

int main()
{
	// 参数定义
	IDXGIFactory * pFactory;
	IDXGIAdapter * pAdapter;	
	std::vector  vAdapters;			// 显卡
	

	// 显卡的数量
	int iAdapterNum = 0;			


	// 创建一个DXGI工厂
	HRESULT hr = CreateDXGIFactory(__uuidof(IDXGIFactory), (void**)(&pFactory) );

	if (FAILED(hr))
		return -1;
	
	// 枚举适配器
	while(pFactory->EnumAdapters(iAdapterNum, &pAdapter) != DXGI_ERROR_NOT_FOUND) 
	{ 
		vAdapters.push_back(pAdapter); 
		++iAdapterNum; 
	} 

	// 信息输出 
	cout<<"===============获取到"<GetDesc(&adapterDesc);

		// 输出显卡信息
		cout<<"系统视频内存:"< vOutputs;
		// 输出设备数量
		int iOutputNum = 0;
		while(vAdapters[i]->EnumOutputs(iOutputNum,&pOutput)!= DXGI_ERROR_NOT_FOUND)
		{
			vOutputs.push_back(pOutput);
			iOutputNum++;
		}

		cout<<"-----------------------------------------"<GetDesc(&outputDesc);

			// 获取设备支持
			UINT uModeNum = 0;
			DXGI_FORMAT format = DXGI_FORMAT_R8G8B8A8_UNORM;
			UINT flags         = DXGI_ENUM_MODES_INTERLACED;

			vOutputs[n]->GetDisplayModeList( format, flags, &uModeNum, 0);
			DXGI_MODE_DESC * pModeDescs = new DXGI_MODE_DESC[uModeNum];
			vOutputs[n]->GetDisplayModeList( format, flags, &uModeNum, pModeDescs);

			cout<<"显示设备名称:"<


你可能感兴趣的:(C++学习,DirectX不归路)