如何以编程方式更改第三个监视器

时间:2013-02-22 19:20:52

标签: windows automation multiple-monitors video-card

当我使用笔记本电脑时,我使用3个显示器:

  1. 笔记本电脑显示屏
  2. 第二台显示器(通过VGA连接)
  3. 电视(通过HDMI连接)
  4. 我的显卡不支持3台显示器,因此我不断从2切换到3:当我在电脑上时,我使用第二台显示器,当我想看一些电影等时我使用第3次。

    我目前必须转到屏幕分辨率,选择未使用的显示器,然后选择将桌面扩展到此显示

    有没有办法让它自动化?

    是否有任何命令行工具或任何允许这样做的Windows API?

    修改
    Display Changer似乎做了我需要的,但问题是它只检测工作的监视器。未检测到第3台显示器(当前未使用),因此无法连接。

2 个答案:

答案 0 :(得分:1)

DisplaySwitch.exe上的一些RE显示它调用

SetDisplayConfig(0, NULL, NULL, NULL, 0x888)

将其设置为我的计算机上的扩展程序。

从那里开始,一点点挖掘让我明显地看到了SetDisplayConfig文档,还有this SO page一些示例代码查询当前显示状态并添加实际标志来更改它们如果你想要这样做。

答案 1 :(得分:0)

我回复了similar question,建议您尝试使用UltraMon或使用他们的SDK,但您也可以使用ChangeDisplaySettingsEx直接点击Win32 API。另一位用户Sai提供了对example showing use of the function

的引用