title: Execute automatic change connected displays in Windows 8
body: <p><strong>Short version</strong></p>
  
  <p>How do I automate changing multiple display settings? NVIDIA, 3x monitors (2x DVI and 1x HDMI), GPU only supports 2 active monitors.</p>
  
  <hr>
  
  <p><strong>Long version</strong></p>
  
  <p>So I have a <code>NVIDIA GeForce GTX 560 Ti</code> which can run two displays simultaneously. It has two <strong>DVI</strong> connections and one <strong>HDMI</strong>. I often swap from using my two desktop monitors and connect only one of the desktop monitors plus my TV using <strong>HDMI</strong>.</p>
  
  <p>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.</p>
  
  <p>I found some documentation on using "<code>rundll32.exe</code>, <code>NvCpl.dll</code>, <code>dtcfg</code> ...." 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.</p>
  
  <p>I have tried to use <strong>WMI</strong> to see if the monitor is there, but it only shows the two active monitors. It does not show the third inactive monitor.</p>
  
  <p>I have tried <code>EnumDisplayDevices</code> from <strong>User32.dll</strong>, but this only returns the two active monitors.</p>
  
  <p>How can I get this working?</p>
  
  <p>I would like to get this working in C#, so I can use it with changing audio device as well :)</p>