Short version
How do I automate changing multiple display settings? NVIDIA, 3x monitors (2x DVI and 1x HDMI), GPU only supports 2 active monitors.
Long version
So I have a NVIDIA GeForce GTX 560 Ti
which can run two displays simultaneously. It has two DVI connections and one HDMI. I often swap from using my two desktop monitors and connect only one of the desktop monitors plus my TV using HDMI.
I would like to automate the change back and forward using a batch script or other program instead of using the windows control panel (Control Panel\All Control Panel Items\Display\Screen Resolution) or the NVIDIA Control Panel.
I found some documentation on using "rundll32.exe
, NvCpl.dll
, dtcfg
...." etc. This did not work at all. Nothing happens for any parameters I use from the NVIDIA PDF documentation. Does anyone have an example that works? I have tried this on Windows 7 as well.
I have tried to use WMI to see if the monitor is there, but it only shows the two active monitors. It does not show the third inactive monitor.
I have tried EnumDisplayDevices
from User32.dll, but this only returns the two active monitors.
How can I get this working?
I would like to get this working in C#, so I can use it with changing audio device as well :)