How to disable monitor auto detection in Windows 7?

I am currently running Windows 7 Ultimate 64-bit with a dual monitor setup with an NVIDIA 7950 GT graphics card. One monitor is dedicated to this machine and the other monitor is connected to a DVI KVM switch.

When I switch to my other computer, Windows 7 disables the monitor. However, when I switch back it does not re-enable the monitor. The only circumstance that automatically re-enables the second monitor is when I switch back after Windows has put the monitors into power save mode. I am continually having to bring up the NVIDIA control panel to have it re-enable the monitor.

Under Windows XP I would just disable the NVIDIA service to prevent it from auto-detecting the monitor (which doesn't solve the problem under Win7), and in Vista there was a registry hack that would prevent this. It looks as though that has been removed in Windows 7.

I have found similar questions posted on this site, but nothing that matches my problem exactly. The following link is the question that comes the closest, but does not provide a solution to the problem.

How do I fix monitor detection in Windows 7?

Is there a way in Windows 7 to disable monitor auto-detection?

Update: I just added a second graphics card to my Windows 7 64-bit machine. I plugged one monitor into each graphics card. Now, when I use the KVM switch to switch back and forth it will re-enable the second monitor like it should. There are however, a few quirks with this. If I have a program maximized on the second monitor and it has focus, when I switch it will move to monitor 1. If I have a program maximized on the second monitor and it does not have focus, when I switch it will behave like it is minimized and when I bring it back up it will show up maximized on monitor 1.

Definitely better than it was, but still looking for a way to disable the auto-detection.


Maybe this is too simple, but have you tried just using the windows+p hot key? That works only in windows 7, but is a quick way to extend, duplicate, or select a single screen. (note: when it says projector is means your secondary display)

If you're dealing with Windows Vista you can turn off Auto-Detect through following this guide. It is supposedly only for nvidia cards but may work for others as well.

That post says:

  1. Open the Start Menu. A) Click All Programs -> Accessories -> System Tools -> Task Schedular.

OR

  1. Open the Control Panel (Classic View). A) Click Administrative Tools -> Computer Management.
  2. Click Continue for the UAC prompt.
  3. In the left pane, expand Task Scheduler, Task Scheduler Library, Microsoft, Windows, and click on MobilePC.
  4. In the middle pane, right click on TMM.
  5. To Disable TMM - Click on Disable.
  6. To Enable TMM - Click on Enable. NOTE: TMM is enabled by default in Vista.
  7. Close Task Scheduler.
  8. Logoff and logon, or restart the computer to see the change.

You can also do it directly from the registry:

Using Windows Registry Editor Open Windows registry editor(regedit) Navigate to this location

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TMM

Right click on the (UseIViewHelper) value and select modify. set the value data to 0 to disable TMM feature in Windows. If you want to re-enable TMM feature,set the value data to 1.

You also have to restart the PC afterwards.

reference

As far as windows 7 goes, it's not possible at the moment. According to moderators at microsoft's forums: "This behavior is by design and I don't think there is a way to override this functionality except to make sure that both monitors are turned on when you start the system." Pretty lame. Right now however there is a way to request this feature. Please go to the link and request this feature if you feel it is important. Also a ticket for the feature has been created officially as well. Only time will be able to tell.

A Third party software may be useful, but I have not personally used any for this purpose. I have found MultiMon which is built for multiple monitors. Hopefully this will be of some use until microsoft gets it right.


There is a piece of hardware can probably solve your problem.

The purpose of such a device is to sit in between the cable of your monitor and to make the computer think the monitor still exists. It does this by recording the EDID once and repeating it all the time afterwards.

  • http://www.monoprice.com/Product/?c_id=101&cp_id=10110&cs_id=1011003&p_id=3048&seq=1&format=1
  • http://www.gefen.com/kvm/ext-dvi-edidp.jsp?prod_id=4715
  • http://www.gefen.com/kvm/ext-hdmi-edidp.jsp?prod_id=8005
  • http://www.hdfury.eu/en/home/5-dr-hdmi.html
  • http://www.aten.com/products/Video-Products/Converters/HDMI-EDID-Emulator~VC080.html