Which Windows Display (C ++) Screen Libraries meet my requirements?

I am ready to transfer the screen capture functions to our applications because this is not our main business and I wasted too much time trying to get our code to do whatever I need to. Time for a specialist, I think. My requirements, in order of decreasing importance, are below. Does anyone have experience with any commercial or free libraries that meet most or all of these requirements?

  • Should work on Windows XP and above. (But not Win95 / 98 / Me.)

  • Visual C ++ 2005 compatibility where the screenshot can be run from my code. Static library preferred, but DLL or COM object is fine. I would prefer not to extend to the standalone EXE because there are some users out there who will try to tamper with our application and I think having a separate EXE screenshot makes it too easy.

  • Complete screenshots of multiple monitor systems should be taken. (Preferably, as the Print Screen key does in Windows, bitmap displays stitched together, but if I need to take the shots separately and merge them myself, that's okay.)

  • Should be able to display the screen correctly when the Remote Desktop client (or any RDP client or virtual machine) is in full screen mode. (Of course, it should also work when RDP is in windowed mode, but that shouldn't be a problem if it doesn't work by simulating a keypress that can be sent to the remote OS instead of being handled locally.)

  • Should be able to display the screen correctly when Windows Media Player (or any other media player) is in full screen mode.

  • Should be able to display the screen correctly when a game (such as World of Warcraft) is in full screen mode.

  • It would be nice to be able to capture a few seconds of user activity as video.

+2


source to share


4 answers


I don't know of a library that will do what you want.

If I had to code your requirements, I would probably use the source code of the TightVNC server as a starting point. I think it has the technology to do everything on your EXCLUDE list ....



I'm not sure if there is technically ANYTHING that can do a screen capture for some kind of remote desktop session. Think about it: there can be multiple remote desktop sessions (csrss.exe process) using the same physical remote desktop server. If you were sitting in front of a car looking at a video monitor, you would not see anything. So what can you expect. VNC is only going to capture what's going on with the "real" video (non-remote csrss.exe).

+1


source


I don't know if this really helps, but the best available image libraries are available from

www.accusoft.com and



www.leadtools.com

Both support taking screenshots, although I don't know if it will correctly capture the output of a video player that displays graphics acceleration or recording movies from the screen.

+1


source


Some people in our office use Magick ++ (ImageMagick library) to take screenshots. I don't know all the specs, but you can take a look at it and see if it meets your requirements.

Hope it helps.

Hello,

Sebastiaan

0


source


If I were you, I would research WindowsClippings , a fairly mature and extensible application written in C ++ that does exactly what you need. It has an API that you can extend to your requirements and is pretty cheap at $ 18

0


source







All Articles