2,643
社区成员
发帖
与我相关
我的任务
分享
#include "stdafx.h"
#include "d3d9.h"
#include "stdio.h"
#include <iostream>
#include "ddraw.h"
#pragma comment(lib,"d3d9.lib")
#pragma comment(lib,"ddraw.lib")
#pragma comment(lib,"dxguid.lib")
void GetMemInfo()
{
LPDIRECTDRAW7 lpdd;
HRESULT ddrval;
CoInitialize(NULL);
ddrval = CoCreateInstance(CLSID_DirectDraw,NULL,CLSCTX_ALL,IID_IDirectDraw7,(void**)&lpdd);
if(!FAILED(ddrval))
{
ddrval = IDirectDraw7_Initialize(lpdd, NULL);
}
DDSCAPS2 ddsCaps;
ZeroMemory(&ddsCaps, sizeof(ddsCaps));
ddsCaps.dwCaps = DDSCAPS_VIDEOMEMORY;
DWORD dwUsedVRAM = 0;
DWORD dwTotal=0;
DWORD dwFree=0;
HRESULT hr = lpdd->GetAvailableVidMem(&ddsCaps, &dwTotal, &dwFree);
dwUsedVRAM = dwTotal-dwFree;
lpdd->Release();
printf("Total memory is %d MB\n", dwTotal/1024/1024);
printf("Free memory is %d MB\n", dwFree/1024/1024);
printf("Used memory is %d MB\n", dwUsedVRAM/1024/1024);
CoUninitialize();
return ;
}
void main()
{
GetMemInfo();
getchar();
return;
}