code to capture game screen (windows)

theGlove

Senior member
Jan 13, 2005
884
0
0
Hi All,
need a little help. I would like to have some pointers/tips on how to go about writing code for game screen capture (win platform). I tried to use google for some examples but couldn't find any that dealt with game screens. C++ code preferably but I'm open to any other code, just need to know the technique on how to do this. thanks
 

Dimmu

Senior member
Jun 24, 2005
890
0
0
Here's an example using GDI+. It's written in C# but it would be rather painless to port it to C++ if you really want to.

Link
 

theGlove

Senior member
Jan 13, 2005
884
0
0
ok thanks, well i'm thinking about either trying to do the sendkeys way (have the program send print screen and then capture the img from the clipboard). not the best way but i just need a quick and simple way for what i'm trying to do.
 

Dimmu

Senior member
Jun 24, 2005
890
0
0
Originally posted by: Markbnj
Originally posted by: Dimmu
Here's an example using GDI+. It's written in C# but it would be rather painless to port it to C++ if you really want to.

Link

Will GDI+ capture a D3D surface?

I was under the impression that this would behave some-what like "Print Screen," but with the added benefit of more control of the process. Perhaps I am mistaken?
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
Originally posted by: Dimmu
Originally posted by: Markbnj
Originally posted by: Dimmu
Here's an example using GDI+. It's written in C# but it would be rather painless to port it to C++ if you really want to.

Link

Will GDI+ capture a D3D surface?

I was under the impression that this would behave some-what like "Print Screen," but with the added benefit of more control of the process. Perhaps I am mistaken?

Well, the reason I mentioned it is that GDI+ and D3D are two completely different graphics architectures. The OP didn't mention what kind of game he wanted to capture a screen from. In the D3D world there is Fraps, for example, which captures screens and clips, but I don't think you can get there through GDI.
 

xtknight

Elite Member
Oct 15, 2004
12,974
0
71
You should be able to BitBlt the screen even when an OpenGL or DirectX game is up. I know it worked for me at least with OpenGL games, as printscreen does work with all games that I know of.