Our objective is to get an Image (screenshot) representing a certain application running on Windows.
We are mainly focusing on Direct X / OpenGL games either running in window mode [desktop viewable] or fullscreen.
You should use low-level operations to directly access the memmory in order to be fast.
-No problem with overlapping windows or menus (mainly concern about Windows Vista/7 Aero interface as it does not capture OpenGL-fullscreen correctly - results in a blank screenshot ).
- We have used the PrintWindow API, BitBlt or DirectX but they are not a solution because either do they not catch the whole application ,they are not fast enough, or simply because they result in blank/black images.
- You should directly access windows memory and just copy the bytes, as it needs to be *very very* fast (around 60 fps (minimum 30 fps) in a normal laptop).
- The delivery should include a method that, given the application handle, returns the application's screenshot.