What registry key or windows file determines where monitors are placed in a multi monitor environment?

I have a laptop with a USB to VGA adapter which allows me to add a third monitor to my laptop (the second monitor uses the onboard slot).

It worked fine on Windows Vista - you could go into Windows' display settings and Windows would recognize the third monitor and let you drag it around accordingly. With Windows 7, the third monitor literally is not there in Windows' display settings. The driver allows you to display to the third monitor, but you can't move where it is. The display settings are misplaced relative to my other two (if you drag windows over to it, they end up on the bottom when it should be aligned).

I called tech support and they said that there isn't a driver with this functionality for Windows 7 yet. But here's my hunch. The monitor placement is still somewhat similar to where I had it on Vista, it's just off about 500 pixels or so. I think there is either a registry key or driver file somewhere that is telling this monitor where to exist. If I could just modify the number and move it up 500 pixels, it would be in the right place and I don't have to wait 6 months for the company to come out with a new driver.

Any ideas?


Solution 1:

Check out the various keys and folders in

HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\Video

Specifically in the innermost MonXXXXXXX sub-folders should be Attach.RelativeX and Attach.RelativeY values which are the monitors' location in relation to pixel 0,0.

Strangely when I check a Windows 7 machine here with two monitors, it doesn't seem to show the second monitor. But my XP machine shows all three of mine, so your mileage may vary.

If nothing else it's a place to start!

Solution 2:

For anyone that is looking for the key in Windows 7 it is in one of the folders in:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\

Look for Position.cx and Position.cy in each of the subfolders; you have to edit the hex string.

Binary / decimal / hexadecimal converter:

http://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html

Solution 3:

I wish I knew why this worked but I know it does:

To get the monitor to go UP (because negatives aren't allowed by the registry), you have to use values for attach.relativeY like this: 4294967040

Thanks to this forum for helping figure out that part - http://www.ureader.com/msg/164488.aspx

If you change the last 4 digits of that number down, the monitor goes down and vice-versa. This will also work for attach.relativeX. A little tweaking and my setup was back to normal.

Who needs functional drivers pshh