HRESULT CopyScreen(LPDIRECT3DDEVICE8 pDevice, char *szFileName)
{
HRESULT hr;
D3DDISPLAYMODE mode;
if (FAILED(hr=pDevice->GetDisplayMode(&mode)))
return hr;
LPDIRECT3DSURFACE8 pSurface;
if (FAILED(hr=pDevice->CreateImageSurface(mode.Width, mode.Height, D3DFMT_A8R8G8B8,&pSurface)))
return hr;
if (FAILED(hr=pDevice->GetFrontBuffer(pSurface)))
{
pSurface->Release();
return hr;
}
hr=D3DXSaveSurfaceToFile(szFileName, D3DXIFF_BMP, pSurface, NULL, NULL);
pSurface->Release();
return hr;
}
CopyScreen(pDevice, "C:\\Screenshot.bmp");
