From: peter7577 on
Hi

I would like to be able to have a fullscreen application use a virtual
display driver, from which you can do screen capture.
That way the normal monitor/display would not be in full screen mode
and can be used normally.


Regards Peter
From: Joseph M. Newcomer on
Depends on what you are really asking for. For example, if all you want to do is capture
the client area of the screen, I have a simple function on my MVP TIps site that captures
the client area of a window (note: if other windows are on top, it captures them). Or, if
you want to generate a "full-screen-sized" bitmap, you can simply create a bitmap as large
as the screen, selected it into a DC, and call your DrawItem method to paint into the
bitmap (even though it is larger than the current client area). You can find an example
of this in my Gradient Fill Explorer, which is actually a dialog-based app and I want to
capture a bitmap which is displayed in a scrollable window, but I want the whole bitmap.
joe

On Tue, 6 May 2008 06:07:40 -0700 (PDT), peter7577(a)gmail.com wrote:

>Hi
>
>I would like to be able to have a fullscreen application use a virtual
>display driver, from which you can do screen capture.
>That way the normal monitor/display would not be in full screen mode
>and can be used normally.
>
>
>Regards Peter
Joseph M. Newcomer [MVP]
email: newcomer(a)flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
From: Giovanni Dicanio on

"Joseph M. Newcomer" <newcomer(a)flounder.com> ha scritto nel messaggio
news:uoo024lqkmgnv2nmj6j7po5etk2dj8fm2o(a)4ax.com...
> Depends on what you are really asking for. For example, if all you want
> to do is capture
> the client area of the screen, I have a simple function on my MVP TIps
> site that captures
> the client area of a window (note: if other windows are on top, it
> captures them).

If the client area hosts some DirectX (DirectDraw) surfaces, that function
does not capture its content.

I think that the OP needs something at very low level inside Windows
architecture, maybe at the device-driver level.
Joe: in this field you are the expert (I have no detailed ideas about device
driver development).

I would also suggest the OP to visit some device-driver related newsgroup to
post his question...

Giovanni


From: Joseph M. Newcomer on
Virtual display drivers are nontrivial creations.

There is insufficient information in the question to give a good answer (for example, if
DirectX were involved, this surely would have been mentioned in the question...). I have
never used DirectX, but it would surprise me if it didn't have a way to capture screen
information, but this is probably the wrong forum to pose that sort of question.
joe

On Tue, 6 May 2008 17:27:49 +0200, "Giovanni Dicanio" <giovanni.dicanio(a)invalid.com>
wrote:

>
>"Joseph M. Newcomer" <newcomer(a)flounder.com> ha scritto nel messaggio
>news:uoo024lqkmgnv2nmj6j7po5etk2dj8fm2o(a)4ax.com...
>> Depends on what you are really asking for. For example, if all you want
>> to do is capture
>> the client area of the screen, I have a simple function on my MVP TIps
>> site that captures
>> the client area of a window (note: if other windows are on top, it
>> captures them).
>
>If the client area hosts some DirectX (DirectDraw) surfaces, that function
>does not capture its content.
>
>I think that the OP needs something at very low level inside Windows
>architecture, maybe at the device-driver level.
>Joe: in this field you are the expert (I have no detailed ideas about device
>driver development).
>
>I would also suggest the OP to visit some device-driver related newsgroup to
>post his question...
>
>Giovanni
>
Joseph M. Newcomer [MVP]
email: newcomer(a)flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
From: peter7577 on
Thanks for your replies.

DirectX is not involved.
I might be able to use your example, but many applications only update
the visible area so in a scrollable window only the visible part can
be captured. Since the window is updated by an external application
there is no way of telling when it has finished updating after window
has been scrolled; which is why I thought of a virtual display.
Creating a virtual display is a lot of work, so I was hoping that
there might be something buried in Platform SDK or the DDK or a open
source project that does some thing like this.

Peter

On 7 Maj, 06:00, Joseph M. Newcomer <newco...(a)flounder.com> wrote:
> Virtual display drivers are nontrivial creations.
>
> There is insufficient information in the question to give a good answer (for example, if
> DirectX were involved, this surely would have been mentioned in the question...). I have
> never used DirectX, but it would surprise me if it didn't have a way to capture screen
> information, but this is probably the wrong forum to pose that sort of question.
> joe
>
> On Tue, 6 May 2008 17:27:49 +0200, "Giovanni Dicanio" <giovanni.dica...(a)invalid.com>
> wrote:
>
>
>
>
>
> >"Joseph M. Newcomer" <newco...(a)flounder.com> ha scritto nel messaggio
> >news:uoo024lqkmgnv2nmj6j7po5etk2dj8fm2o(a)4ax.com...
> >> Depends on what you are really asking for. For example, if all you want
> >> to do is capture
> >> the client area of the screen, I have a simple function on my MVP TIps
> >> site that captures
> >> the client area of a window (note: if other windows are on top, it
> >> captures them).
>
> >If the client area hosts some DirectX (DirectDraw) surfaces, that function
> >does not capture its content.
>
> >I think that the OP needs something at very low level inside Windows
> >architecture, maybe at the device-driver level.
> >Joe: in this field you are the expert (I have no detailed ideas about device
> >driver development).
>
> >I would also suggest the OP to visit some device-driver related newsgroup to
> >post his question...
>
> >Giovanni
>
> Joseph M. Newcomer [MVP]
> email: newco...(a)flounder.com
> Web:http://www.flounder.com
> MVP Tips:http://www.flounder.com/mvp_tips.htm