在 nVidia 卡上自动化 3 个显示器

在 nVidia 卡上自动化 3 个显示器

许多人都发帖说,许多 nVidia 卡上只能输出 3 个输出中的 2 个。我想知道是否有人找到了自动更改已启用输出的方法。

我尝试过显示器更换器,但它只能看到最后启用的两个显示器:

C:\Program Files (x86)\12noon Display Changer>dc64cmd.exe -listmonitors
Monitor: SONY TV XV
Device: \\.\DISPLAY1
Adapter: NVIDIA GeForce GTX 470
(1920 x 1080 x 32 bpp) 60Hz up, attached (1920,0)

Monitor: ASUS VW266H
Device: \\.\DISPLAY2
Adapter: NVIDIA GeForce GTX 470
(1920 x 1200 x 32 bpp) 59Hz up, attached, primary (0,0)

还有第三台显示器,另一台华硕 VW266H,这里没有列出(但显示在 Windows 屏幕分辨率对话框中)。我经常在双显示器或一台显示器和电视上播放的视频之间切换。

我也尝试过 PowerStrip,但不知道如何使用它来启用和禁用显示器......真的感到很困惑。

我有 AutoHotkey,但没有找到任何可用的脚本。

有什么建议吗?最好能编写脚本 - 否则与 Windows 对话框相比,它的优势并不大。

谢谢!

答案1

我想在电视上播放电影/游戏,并在退出时返回双显示器设置,因此我在 Windows 7 上创建了一个批处理文件 (.bat) 来执行此操作。

在您要启动的程序所在的文件夹中创建一个文本文件 (.txt),其中包含以下文本:

@echo off
C:\Windows\System32\DisplaySwitch.exe /extend
start "" /WAIT "path\yourprogramnamehere.exe"
C:\Windows\System32\DisplaySwitch.exe /external

yourprogramnamehere.exe是您想要在外部电视上运行的程序文件。path是文件的文件夹路径(例如 C:\myfolder)。将文本文件另存为 .bat,然后创建该 .bat 文件的桌面快捷方式,双击它,它应该会在您的电视上打开并在退出时返回到之前的设置。

我发现大部分信息XBMC 论坛

以下是 DisplaySwitch.exe 的其他用途:

C:\Windows\System32\DisplaySwitch.exe /external
C:\Windows\System32\DisplaySwitch.exe /internal
C:\Windows\System32\DisplaySwitch.exe /clone
C:\Windows\System32\DisplaySwitch.exe /extend 

答案2

抱歉,这更适合作为评论,但我还没有“随处评论”的特权。

使用 Windows 脚本宿主可以做很多事情。我以前经常使用 ActiveState 的 perl,它可以让您直接访问 Windows 脚本宿主。例如,我能够以类似于使用 的方式编写脚本来添加/删除新的打印机驱动程序、打印机和相关功能dllrun

本质上,您需要弄清楚哪些二进制文件负责启动更改、其中调用了哪些函数以及要传递给这些函数的参数。然后,您可以在 perl 脚本中(或使用 dllrun)动态加载 dll,并调用适当的函数。

相关内容