许多人都发帖说,许多 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,并调用适当的函数。