我正在尝试使用GetBackBuffer读取桌面屏幕捕获的后备缓冲区数据并将其显示在窗口上。我已经初始化了directx并注册了窗口类。 我的问题是显示它读取的数据。我得到一个黑色的窗口,其中包含我正在使用的代码片段。有人可以帮我解决这个问题。
IDirect3DSurface9 *offscreenSurface = 0;
d3ddev->CreateOffscreenPlainSurface(1366, 768, D3DFMT_A8B8G8R8, D3DPOOL_DEFAULT, &offscreenSurface, NULL);
HRESULT hr1 = d3ddev->CreateRenderTarget(1366, 768, D3DFMT_A8R8G8B8, D3DMULTISAMPLE_NONE, 0, TRUE, &offscreenSurface, NULL);
HRESULT hr = d3ddev->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &offscreenSurface);
}