6

I'm trying to write a small utility that will enable/disable monitors under Windows 7 with my nVidia graphics card. (ie. "Extend the desktop onto this monitor", etc)

The reason is that my nVidia Geforce GTX 480 has three outputs (2x DVI, 1x Mini-HDMI) but only allows two to be active at any given time so I need to enable/disable monitors when I want to switch to my TV (HDMI) display.

The Win32 API function EnumDisplayDevices isn't working because it doesn't show disabled monitors.

nVidia provides an API (NVAPI) and has functions to enumerate all monitors (even disabled ones) and you can enable a monitor but you can't disable a monitor. (I'm referring to NvAPI_CreateDisplayFromUnAttachedDisplay)

UltraMon seems to have figured out how to perform this but I can't find any information.

2
  • 1
    Hi! Have you found any solution? I`m trying to make similar app for managing monitors layout from android device remotely.
    – alkersan
    Commented Nov 21, 2011 at 11:28
  • 1
    if EnumDisplayDevice() isn't returning disabled monitors, the SetupDi* functions should give you the necessary device names including PNP device ID
    – AcidJunkie
    Commented Oct 7, 2013 at 16:01

1 Answer 1

0

I think that if 2 out of three displays are already connected, the 3rd one will not be detected. the card will stop listening for a new hardware. you have to manually take out the cable , and then insert a new one in a different port. unless there is a way to "eject" the connection, similar to a usb storage device.

Not the answer you're looking for? Browse other questions tagged or ask your own question.