Re: newbie problem: mirror display driver
Date: Wed, 28 Jul 2004 11:05:54 +1200
If a window is invisible, it's likely not to paint itself at all. If a
window is partially visible, it's likely to paint its visible region only. A
GDI window determines the region to paint with GetUpdateRgn() or
GetUpdateRect(). No mirror driver will see the window content which is not
"Gil" <email@example.com> wrote in message
> I'm trying to solve what seemed at first a very simple problem - I want to
> capture the graphic contents of a window on the desktop. now, its easy
> enough when the window is visible on the screen, but for the life of mine
> couldn't do it if part or all of the window was off-screen. unstable and
> unreliable API hooking tricks was the best I could do, and yet the results
> were poor.
> Now, I was led to believe that perhaps a mirror display driver is the
> correct way to go, and I have a few questions:
> 1. As I have no previous experience with windows driver development, I'd
> much rather not get into it if I don't absolutely have to. is there some
> simple user-mode solution to this seemingly simple problem, that I am
> 2. How would I accomplish this with a mirror display driver? can I just
> define a larger surface on the DrvEnableSurface() and the system would
> rendering operations to my driver for windows that are off-screen yet
> the larger clip region that I defined?
> 3. I'm running the sample from the 2003 ddk on an XP machine, and there
> some noticeable side-effects. pull-down menus seem to be broken, and there
> are minor changes to the appearance of the desktop. is this an expected
> documented behavior, or a bug?
> Cheers, Gil.