Our objective is to get an Image (screenshot) representing a certain application running on Windows. It can be seen as an application print-screen. You should use low-level operations to directly access the memmory in order to be fast.
-No problem with overlapping windows or menus (if an application is showing a menu (file->open, etc) or a sub-window (notepad open file dialog for example), that same window/menu should also be in the 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 or they are not fast enough.
- 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.