Im looking into using the windows desktop manager to capture the image displayed on a certainwindow.Currently Im brining the window in question to the top of the screen before taking a standard screenshot- This is inconvenient since I want a shot taken every minute, and i dont really need/want the window at the top all the time anyway.Im only used to programming in Matlab so I have some questions which may seem stupid, nonetheless answers to these would help me a lot:1. Is there a fee to get hold of the Windows Desktop Manager API for Vista?2. What language is the API written in?3. Is it possible to capture an image of a hidden window?4. Can I get a list of the actice windows on my machine, in order to locate my target window?Many Thanks
Hi Gary
(no relation to Francis Gary Powers, by any chance? Or are you tired of
that question?)
The APIs for Windows Display Manager, and graphics generally, are
documented in the Windows Software Development Kit (SDK). The
documentation is available online, in MSDN:
http://msdn.microsoft.com/en-us/library/default.aspx
See especially the Graphics section:
http://msdn.microsoft.com/en-us/library/ee663279(VS.85).aspx
You can also download the SDK for free from here:
http://msdn.microsoft.com/en-us/windows/bb980924.aspx
This includes the documentation and SDK software, including compilers
(although you don't get the nice Visual Studio IDE - you need to pay
money for that).
The Graphics facilities are generally written in C++ and expose C++
APIs. it would be quite difficult to call these APIs directly from a 4GL
like MatLab. But maybe not impossible. Or you could write your own DLL
shim, to match up the C++ APIs you want and expose them in a form
palatable to MatLab (I'm sure that writing DLL extensions is documented
in the MatLaB docs, somewhere. But overall, I suspect you'll have better
luck trying to achieve your goal in raw MatLab, and/or with some
already-written utilities. GDI+ programming will be a steep (but not
insurmountable) learning curve, if you're not already a C++ programmer.
Hope this helps,
Andrew