Multiple display monitors - 'virtual' devices

R

Robert

Hi everyone,

I am using the EnumDisplayMonitors API call to determine the monitor
configuration on systems with multiple display monitors.
Recently I've run into a problem with a remote control software, which seems
to create a 'virtual' monitor when the PC is remotely controlled.
What do I mean with 'virtual'?

Let's say I have two monitor with 1280x1024 resolution side-by-side.
EnumDisplayMonitors returns those two monitors with correct size and
offsets.
Once the remote control software starts, I get a third monitor, with
2560x1024, effectively overlaying the two existing monitors (which,
according to the explanation in MSDN, should not be possible: Multiple
monitors should always touch, but never overlap).
However, the system does not seem to be confused: The Display Properties /
Settings page looks just as before (with two monitors), so the system
somehow realizes the additional monitor isn't 'real' somehow. But
GetMonitorInfo does not return any flags that might help me there.

Can anyone make sense of this? Is there such a thing as a 'virtual' monitor?
Note: The software does _not_ add a seperate graphics driver.

Thanks

Robert
 
M

Mike D Sutton @ Work

I am using the EnumDisplayMonitors API call to determine the monitor
configuration on systems with multiple display monitors.
Recently I've run into a problem with a remote control software, which seems
to create a 'virtual' monitor when the PC is remotely controlled.
What do I mean with 'virtual'?

Let's say I have two monitor with 1280x1024 resolution side-by-side.
EnumDisplayMonitors returns those two monitors with correct size and
offsets.
Once the remote control software starts, I get a third monitor, with
2560x1024, effectively overlaying the two existing monitors (which,
according to the explanation in MSDN, should not be possible: Multiple
monitors should always touch, but never overlap).
However, the system does not seem to be confused: The Display Properties /
Settings page looks just as before (with two monitors), so the system
somehow realizes the additional monitor isn't 'real' somehow. But
GetMonitorInfo does not return any flags that might help me there.

Can anyone make sense of this? Is there such a thing as a 'virtual' monitor?
Note: The software does _not_ add a seperate graphics driver.

The virtual monitor will more than likely not be part of the desktop, check the flags for each monitor and only work with those that
have the attached to desktop flag set (this will also bypass any disabled display devices)
Hope this helps,

Mike


- Microsoft Visual Basic MVP -
E-Mail: (e-mail address removed)
WWW: Http://www.mvps.org/EDais/
 
R

Robert

Mike D Sutton @ Work said:
The virtual monitor will more than likely not be part of the desktop,
check the flags for each monitor and only work with those that
have the attached to desktop flag set (this will also bypass any disabled display devices)
Hope this helps,

Mike


- Microsoft Visual Basic MVP -
E-Mail: (e-mail address removed)
WWW: Http://www.mvps.org/EDais/

Your posting pointed me to some interesing articles...none of which
completely answered my question. Is this "attached to desktop flag" DX
stuff? I hope I don't have to touch DX just to get some system information.

Thanks

Robert
 
R

Robert

Robert said:
Properties
check the flags for each monitor and only work with those that disabled
display devices)

Your posting pointed me to some interesing articles...none of which
completely answered my question. Is this "attached to desktop flag" DX
stuff? I hope I don't have to touch DX just to get some system information.

Thanks

Robert

Ah, seem to have found it in EnumDisplayDevices. Thanks for the hint.

Robert
 
M

Mike D Sutton @ Work

Ah, seem to have found it in EnumDisplayDevices. Thanks for the hint.

You may also want to check out the MultiMon library on my site which wraps most of this stuff up for you.
Hope this helps,

Mike


- Microsoft Visual Basic MVP -
E-Mail: (e-mail address removed)
WWW: Http://www.mvps.org/EDais/
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top