在Windows 8中执行自动更改已连接的显示

精简版

如何自动更改多个显示设置? NVIDIA,3倍监视器(2倍DVI和1倍HDMI),GPU仅支持2个有源监视器。


长版

所以我有一台可以同时运行两个显示器的NVIDIA GeForce GTX 560 Ti 。 它有两个DVI连接和一个HDMI 。 我经常使用我的两台桌面显示器进行交换,只使用HDMI连接一台桌面显示器和电视。

我想使用批处理脚本或其他程序而不是使用Windows控制面板(控制面板\所有控制面板项目\显示\屏幕分辨率)或NVIDIA控制面板来自动更改和转发更改。

我找到了一些关于使用“ rundll32.exeNvCpl.dlldtcfg ….”等文档。这根本不起作用。 对于我在NVIDIA PDF文档中使用的任何参数,没有任何反应。 有没有人有一个有效的例子? 我也在Windows 7上试过这个。

我曾尝试使用WMI来查看监视器是否存在,但它只显示两个活动监视器。 它不显示第三个不活动的监视器。

我从User32.dll尝试过EnumDisplayDevices ,但这只返回两个活动的监视器。

我怎样才能使这个工作?

我想在C#中使用它,所以我可以使用它来改变音频设备:)

虽然这可能不符合您的要求,但在使用笔记本电脑为多台显示器供电时,我确实遇到了这个问题,最后我在UltraMon中使用了显示配置文件function。 我从不编写脚本或使用他们的SDK ,但我知道他们确实支持自动化和SDK访问。

注意:我与UltraMon没有任何关系,我只是使用他们的产品并发现它满足我的需求。