以编程方式控制 Windows 中的屏幕布局(10)

以编程方式控制 Windows 中的屏幕布局(10)

在 Linux 中,可以很容易地使用以下命令更改显示设置:瑞安。这适用于您可以连接的任意数量的显示器。具体来说,我想激活/启用并移动多个显示器的布局。简单示例(我认为它是不言自明的):

xrandr --output HDMI1 --right-of HDMI2

我的目标更具体地说是在两种布局之间切换。该工具必须能够不仅处理正在使用的显示器,还处理第三台显示器之外的断开连接的显示器。布局 1 如下所示:

布局 1 的屏幕截图

布局 2:

布局 2 的屏幕截图

我花了很长时间寻找 XRandR 或类似软件的 Windows 移植版本,但没有找到好的结果。尤其是对超过两三个显示效果低于标准。

  • Windows 工具displayswitch存在,但它只对最多两个显示器有意义。您只需选择\internal或者\extend,但没有\extend \monitor=4或类似的东西。还有dpiscaling,但它没有提供良好的cmd界面。
  • Nir 的多监控工具 从这个答案在某种意义上管理布局,但一次只连接前三个显示器中的一个,而不是正确连接显示器 4 或 5。(电视游戏启动器不是我需要的。我也尝试了 NirCmd 中的其他工具。)
  • (中午 12 点) 展示更换 (使用指南),这似乎合适,但它再次只能连接前三个显示器。尝试不手动指定显示器,而是使用-create(保存)然后-congigure(重新加载)只会给我这个错误适用于所有版本。的输出dc64cmd -listmonitors缺少断开的显示器 - 它仅适用于最多三个显示器:
Monitor: Generic PnP Monitor
Device: \\.\DISPLAY1
Adapter: Intel(R) UHD Graphics
(1920 x 1080 x 32 bpp) 60Hz default up, attached, primary (0,0)

Monitor: Generic PnP Monitor
Device: \\.\DISPLAY2
Adapter: Intel(R) UHD Graphics
(1920 x 1200 x 32 bpp) 59Hz default up, attached (1920,-109)

Monitor:
Device: \\.\DISPLAY3
Adapter: Intel(R) UHD Graphics
(1920 x 1200 x 32 bpp) 59Hz default up, attached (3840,-109)

我应该注意,我的显卡只能同时支持 3 个显示器。因此,要从布局 1 切换到布局 2,我需要

  • 断开/分离 2
  • 断开/分离 3
  • 连接/附加 4
  • 连接/附加 5

最好该工具不需要管理员权限。我不知道新的 Windows 10 设置与旧版本相比是否有所改变,但我希望第三方软件能够兼容。

最终,我想在 AutoHotkey 中使用它,但这是次要的。

注意:我没有讨论单个显示器的工具,只是举几个例子:问答nircmd.exe 设置显示或者更改屏幕分辨率

相关内容