4

Is there a way for me to programatically set up a fake monitor in windows and get a video stream from it? Is there something in the win32 api that will allow me to do this?

Thanks

stormbreaker
  • 848
  • 13
  • 22
  • I doubt it will be allowed by Microsoft to emulate a monitor, as it would then be easy to bypass copy-protection mechanisms in the system for videostreams. – Some programmer dude Jun 21 '12 at 07:23
  • 1
    Some of the answers to [this similar question](http://stackoverflow.com/questions/3752031/windows-is-it-possible-to-create-a-virtual-video-card-driver) might be useful/relevant. – BrendanMcK Jun 21 '12 at 09:15
  • 1
    [Mirror Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff568315%28v=vs.85%29.aspx) – arx Jun 21 '12 at 11:56

2 Answers2

2

I think Windows desktop objects are your answer. Here's an example of an application that uses them:

Unlike other virtual desktop utilities that implement their desktops by showing the windows that are active on a desktop and hiding the rest, Sysinternals Desktops uses a Windows desktop object for each desktop. Application windows are bound to a desktop object when they are created, so Windows maintains the connection between windows and desktops and knows which ones to show when you switch a desktop. [...]

Desktops reliance on Windows desktop objects means that it cannot provide some of the functionality of other virtual desktop utilities, however. For example, Windows doesn't provide a way to move a window from one desktop object to another, and because a separate Explorer process must run on each desktop to provide a taskbar and start menu, most tray applications are only visible on the first desktop. Further, there is no way to delete a desktop object, so Desktops does not provide a way to close a desktop, because that would result in orphaned windows and processes. The recommended way to exit Desktops is therefore to logoff.

http://technet.microsoft.com/en-us/sysinternals/cc817881.aspx

Community
  • 1
  • 1
jsonnull
  • 415
  • 3
  • 12
1

There is no way to emulate monitor.

May be desktop functions match your criteria? Look to CreateDesktop/SwitchDesktop.

Maximus
  • 10,751
  • 8
  • 47
  • 65
  • 1
    Are you sure there's no way using custom driver or something like that? This software seems to be doing it http://www.maxivista.com/ . I want to be able to drag windows from my monitor to the fake one just like with multiple displays. – stormbreaker Jun 21 '12 at 07:23
  • Driver is much more complicated task ) And it's related to DDK, not SDK. Why you want to do this "programmatically"? May be you can use VMWare, for example? – Maximus Jun 21 '12 at 07:29