API for getting changes in the screen area?

I am writing a kind of screen recording application for Windows and want to know when and which areas of the screen / active window changed.

Can I connect to the Windows API to notify me of screen changes?

Or do I need to manually write something like this ? :(

I always thought that Remote Desktop used some kind of API to determine which areas of the screen were changed, and only sent these images back - this is exactly the behavior that I need.

+6
windows winapi
source share
5 answers

I don't think there is an API on Windows that can tell you which parts of the screen have changed.

One possible way is to use a video driver driver , for example, using UltraVNC.

+4
source share
+4
source share

It would seem that you will need to do a little work to detect screen changes. This is a tech-archive.net post , for example. With this, you can copy the help screen into RAM, and then take another and compare the two. You must determine which change makes sense. This is similar material for this article on capturing the desktop .

+2
source share

I think that Remote Desktop flows as a GDI command. I do not know how they capture them in the first place.

+1
source share

Thanks for all your help. I ended up writing an image explode class that seems to incredibly quickly calculate modified rectangles. I posted the gist of how this works here .

At the moment, I'm just doing it in the timer, but I plan to do it after the events are entered.

Thanks for the heaps for your Boost links - I just looked at this thread recently, so I will check them out soon.

0
source share

All Articles