Execute automatic change connected displays in Windows 8

本秂侑毒 提交于 2020-01-10 19:33:10

问题


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 :)


回答1:


Although this is may not meet your requirements, I did run in to this problem when using my laptop to power several monitors, and I ended up using the Display Profiles feature in UltraMon. I never scripted it or used their SDK, but I do know that they do support automation and SDK access.

Note: I am in no way affiliated with UltraMon, I just used their product and found it to meet my needs.



来源:https://stackoverflow.com/questions/12547329/execute-automatic-change-connected-displays-in-windows-8

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!