From: Miroslav Penchev on 29 Apr 2010 08:10 Hello I am try to capture graphical user interface of any program running on Windows (or for whole desktop) then to do something with it and display it back on the screen directed by my "program". My "program" will capture the user interface (like mouse and keyboard) and will redirect it to the appropriate running program. I have worries about first part of that idea – How I can capture all graphical information. After researching in last days I come to conclusion that I have to develop my custom video driver (with DDK/WDK) where all drawings from other programs will go and my "program" will redraw on the "real" video driver? - Is it posible that - to have one video driver (mine, virtual) for "all" programs and other video driver (the real one) for some (mine) programs? Or I have to find better solution? I am long time Win32 developer, have basic knowledge of DDK, sure I have to learn it very well, but is my idea possible for developing? I am not asking for step by step "how to" solve that problem - just asking for "show-stopper" problems in my idea. The very basic question - that is the right way - custom display driver? If it is not - it will be pity all time spend of learning WDK, because I will not use it for something else. Thanks in advance.
From: Tim Roberts on 30 Apr 2010 23:49 Miroslav Penchev <MiroslavPenchev(a)discussions.microsoft.com> wrote: > >I am try to capture graphical user interface of any program running on >Windows (or for whole desktop) then to do something with it and display it >back on the screen directed by my "program". Do you mean something like Remote Desktop, or one of the many versions of VNC? Or do you mean something like CamStudio? Part of what I'm saying is that there are many, many, many programs doing this kind of thing. You might make better use of your time to see if there's something already out there. >After researching in last days I >come to conclusion that I have to develop my custom video driver (with >DDK/WDK) where all drawings from other programs will go and my "program" will >redraw on the "real" video driver? - Is it posible that - to have one video >driver (mine, virtual) for "all" programs and other video driver (the real >one) for some (mine) programs? Or I have to find better solution? You can READ the screen from a simple application, with no driver work at all. Before embarking on the long and difficult road to a mirror driver, make ABSOLUTELY SURE you can't do this from a simple application. -- Tim Roberts, timr(a)probo.com Providenza & Boekelheide, Inc.
From: anshul makkar on 1 May 2010 00:10 Hi, No need to develop virtual video driver. All you need is upper filter graphics driver. Filter graphics driver will capture all the drawing calls and in this graphics driver you can again blit the drawings on the screen using GDI calls. Thanks Anshul Makkar www.justkernel.com anshul_makkar(a)justkernel.com On Apr 29, 5:10 pm, Miroslav Penchev <MiroslavPenc...(a)discussions.microsoft.com> wrote: > Hello > > I am try to capture graphical user interface of any program running on > Windows (or for whole desktop) then to do something with it and display it > back on the screen directed by my "program". My "program" will capture the > user interface (like mouse and keyboard) and will redirect it to the > appropriate running program. I have worries about first part of that idea > How I can capture all graphical information. After researching in last days I > come to conclusion that I have to develop my custom video driver (with > DDK/WDK) where all drawings from other programs will go and my "program" will > redraw on the "real" video driver? - Is it posible that - to have one video > driver (mine, virtual) for "all" programs and other video driver (the real > one) for some (mine) programs? Or I have to find better solution? > > I am long time Win32 developer, have basic knowledge of DDK, sure I have to > learn it very well, but is my idea possible for developing? I am not asking > for step by step "how to" solve that problem - just asking for "show-stopper" > problems in my idea. > > The very basic question - that is the right way - custom display driver? If > it is not - it will be pity all time spend of learning WDK, because I will > not use it for something else. > > Thanks in advance.
From: Tim Roberts on 2 May 2010 22:55 anshul makkar <anshul.makkar.maillist(a)gmail.com> wrote: > >No need to develop virtual video driver. All you need is upper filter >graphics driver. You make it sound so simple. GDI drivers are not plug-and-play, and they don't communicate via IRPs. You can't just slap in an upper filter like other drivers. It IS possible to filter a GDI driver, basically by making yourself the primary display driver and loading the previous primary yourself, but it's error prone, and for the most part it's more work than a mirror driver. >Filter graphics driver will capture all the drawing calls and in this >graphics driver you can again blit the drawings on the screen using >GDI calls. It's not that easy. -- Tim Roberts, timr(a)probo.com Providenza & Boekelheide, Inc.
From: anshul makkar on 3 May 2010 00:24 Tim , one says from one's experience and I have implemented it that's why I shared my opinion on the same. Tim: GDI drivers are not plug-and-play, and they don't communicate via IRPs. Anshul : Very true. But we have a workaround for that available in GDI. Tim: You can't just slap in an upper filter like other drivers. Anshul: It can be done just like any other driver. Tim : It IS possible to filter a GDI driver, basically by making yourself the primary display driver and loading the previous primary yourself, but it's error prone, and for the most part it's more work than a mirror driver. Anshul : Let me rephrase it in simple terms so that Mr Miroslav can understand. You have to put your driver above the actual graphics driver (let me say intel graphics driver ) i.e you have to register your driver as filter graphics driver. Now when your filter graphcs driver receives a drawing call from upper layer, either you call the GDI to make the drawing for you , or you can get function pointers from intel graphics driver and make calls to intel driver to do the drawing for you. This can be easily done and I did it without any errors. On May 3, 7:55 am, Tim Roberts <t...(a)probo.com> wrote: > anshul makkar <anshul.makkar.maill...(a)gmail.com> wrote: > > >No need to develop virtual video driver. All you need is upper filter > >graphics driver. > > You make it sound so simple. GDI drivers are not plug-and-play, and they > don't communicate via IRPs. You can't just slap in an upper filter like > other drivers. It IS possible to filter a GDI driver, basically by making > yourself the primary display driver and loading the previous primary > yourself, but it's error prone, and for the most part it's more work than a > mirror driver. > > >Filter graphics driver will capture all the drawing calls and in this > >graphics driver you can again blit the drawings on the screen using > >GDI calls. > > It's not that easy. > -- > Tim Roberts, t...(a)probo.com > Providenza & Boekelheide, Inc.
|
Next
|
Last
Pages: 1 2 Prev: taking actions for a specific SSID on wifi Next: WDK ISO install problem |