【问题标题】:Execute automatic change connected displays in Windows 8在 Windows 8 中执行自动更改连接的显示器
【发布时间】:2012-09-14 20:49:46
【问题描述】:

短版

如何自动更改多个显示设置? 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# 中工作,所以我也可以在更改音频设备时使用它:)

【问题讨论】:

  • 你搞定了吗?我面临着类似的问题。 rundll32.exe 命令对我也不起作用。我在 WinXP 上尝试了同样的方法,它可以工作。您是否尝试过 WinXP 兼容模式下的控制面板 API 示例应用程序?
  • 不,我还没有找到办法。
  • 你试过this吗?
  • 没有试过这个,谷歌搜索结果中缺少 C# 示例,想知道是否有人有 C++ 或其他语言的示例来进行屏幕更改,就像我在问题中描述的那样:)跨度>
  • example 解释了 Win32 API 中的 ChangeDisplaySettingsEx 函数。这个example 展示了如何获得非活动显示。你应该看看他们

标签: c# batch-file windows-8 hardware nvidia


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多