Fullscreen screenshot by another process

I have the following Problem:
I have to take a screenshot of an 3D fullscreen application(for example an game) by another Application, to analyse the picture Data.
I was using GetDIBits so far, but this does not work in an Fullscreen window.
I search around the web and found out this should be possible by accessing the framebuffer.
But I have no Idea how to do that.
I need the result as an Bitmap.

I don't know how to do it, but the first place I would look is the video memory on the video graphics card/hardware. There must be a DirectX or similar function for doing this. I play alot of high end PC games such as Battlefield Bad Company 2 and I used to play Crysis Wars. In Crysis Wars, in non full screen mode you could snap a screen shot and paste it in MS Paint and save it as a bitmap. I do not believe you can do it in Full Screen mode.

Hope this helps...

Not realy, I know I have to search in the videomemory, but i have no idea how to do
Use D3DX apis
Sample in MSDN
There are various articles on CodeProject.com (amonst other places) which might be of interest. The article "Various methods for capturing the screen" runs through assorted approaches, including using DirectX.

"Various methods for capturing the screen"

See the section "And the DirectX way of doing it"


The same Problem, i tried the example aplication and recorded an avi.
This methods all work fine for Desktop mode, but as soon as the game switches to fullscreen the video recorded stay's black.
Topic archived. No new replies allowed.