Hello,
I'm writing a program that needs to call the printwindow api function continuously but the problem is that under windows xp when calling it for certain windows it messes up the top window;

for example:
- i have a window "A" on top, and behind it a powerpoint window with an image inside a presentation
- when calling printwindow on powerpoint the image gets on the window "A" messing up its contents until it's repainted (dragged offscreen, for example)
This also happens with windows displaying opengl and Word documents containing images for example. It haven't noticed it under Vista with dwm enabled.

Is there any smart way of dealing with this? I can only think of calling 'invalidaterect' and 'updatewindow' a couple of times on the top window while calling printwindow so that it repaints. I haven't tried it yet, but I suppose that there will be some flicker.

Is there any way to detect a window displaying opengl or direct3D?
Thanks,
Hrvoje