#include <ddraw.h>
#pragma comment(lib, "guids.lib")
LPDIRECTDRAW2 lpdd;
HRESULT ddrval;
CoInitialize(NULL);
ddrval = CoCreateInstance(CLSID_DirectDraw,
NULL, CLSCTX_ALL, IID_IDirectDraw2, (void**)&lpdd);
if(!FAILED(ddrval))
{
ddrval = IDirectDraw2_Initialize(lpdd, NULL);
}
DDCAPS ddcaps;
ddcaps.dwSize = sizeof DDCAPS;
lpdd->GetCaps(&ddcaps, NULL);
lpdd->Release();
DWORD dwMem = ddcaps.dwVidMemTotal;
int iMem = dwMem/1024/1024;
CString strMem;
strMem.Format(_T("display memory is %d MB"),iMem);
AfxMessageBox(strMem);
CoUninitialize();
博客展示了一段使用DirectDraw获取显示内存的代码。代码中包含头文件、库文件引用,通过COM接口创建DirectDraw对象,初始化并获取显示内存信息,最后将内存大小以MB为单位显示出来。
22万+





