|Drydo 2003-12-18 03:30
We're considering purchasing the UltraMon COM object thingy to swap the Primary output on a laptop from the LCD to CRT with Windows XP installed.
We've managed to achieve this in basic GDI code, however, whilst the Primary monitor can be set - for some reason the desktop is extended to support the dualview system automatically, which is not what we're after (in short, I want to swap the output between the two without the 'Extend my Windows Desktop' setting enabled). In other words, its swaps the Primary monitor fine, but the secondary monitor acts as part of the extended desktop (which was not set before the code is ran).
Now I've spent quite a bit of time on this and I'm struggling to find the solution through the GDI commands - but we've noticed that the standalone Ultramon exe can perform this.
My question(s) are...
Does the UltraMon COM object have the functionality to set a specific monitor (whether it be the LCD or CRT) as the primary output and NOT extend the desktop on the secondary monitor, i.e. disable it! Or do I have to include some extra functionality, e.g. messing with registry or even jumping down the DDK level?
And a secondary issue - does the COM object allow the mirroring option to be set.
I look forward to reply - Cheers Drydo!
|Christian Studer 2003-12-18 06:04
This should work fine, but keep in mind that laptop video chipsets frequently have some limitations:
- ATI chipsets usually don't support setting the external monitor as primary
- I have recently done some testing with an Intel 855GM chipset, and setting any external monitor as primary doesn't work, even a monitor connected to a PCMCIA video card
These are limitations of the display drivers, not UltraMon, the same limitations apply when using the Windows API.
As far as coding goes, you would only need to enable the monitor which is currently disabled, set it as primary, and disable the other monitor. This can be done in a single pass with UltraMon.
Mirroring isn't included in the Developer Edition.
With the standard version of UltraMon, you can use command-line arguments to start/stop mirroring. See UltraMon Help > Scripting for more on this.
Christian Studer - www.realtimesoft.com