我的电视连接到我的电脑上,电脑也有自己的显示器。当我坐在沙发上控制电脑时,我会用蓝牙将控制器和无线键盘连接到电脑上;当我坐在办公桌前时,我会用有线键盘和鼠标。除了主显示器的设置外,这个设置很棒。
当我坐在沙发上想要启动一个程序时,它将在主显示器上启动(主显示器设置为我桌子上的显示器)。这并不理想,所以我希望能够轻松无缝地在主显示器之间切换。我确信一定有一个命令可以做到这一点,在这种情况下,我只需将快捷方式添加到我的桌面,单击后即可切换主显示器。我正在寻找一种类似于 bat、cmd、powershell 的方法,并希望避免使用第三方软件。
有人能帮我解决这个问题吗?谢谢
答案1
如果窗口出现在错误的显示器上并且桌面处于扩展模式,您可以使用 Win+ Shift+Arrow 将活动窗口向左/向右移动到上一个/下一个显示器。
如果您想更改主显示器,则需要使用第三方产品。
以下是一些此类免费产品。当使用显示器编号时,您需要通过反复试验来找出您的显示器的编号。
- NirSoft NirCmd:
nircmd.exe setprimarydisplay 1
- NirSoft MultiMonitorTool:
MultiMonitorTool.exe /SetPrimary 2
- 显示变换器
所有这些产品都具有命令行模式,因此您可以使用批处理脚本。脚本可以通过桌面上的图标启动,并且可能还分配了热键以方便使用。
答案2
在 @harrymc 的建议和 Stack Overflow 的帮助下,我编写了以下可以在显示器之间切换的 bat 脚本。在我的例子中,显示器 1 是默认的,并且每次执行脚本时它都会与显示器 3 切换。
@echo off
SETLOCAL EnableDelayedExpansion
IF EXIST active.txt (
set /p display=< active.txt
del active.txt
IF "!display!" == "1" (
nircmd.exe setprimarydisplay 3
echo | set /P ="3"> "active.txt"
) ELSE (
nircmd.exe setprimarydisplay 1
echo | set /P ="1"> "active.txt"
)
) ELSE (
nircmd.exe setprimarydisplay 1
echo | set /P ="1"> "active.txt"
)
将此脚本保存在文件夹中,例如,C:\tools\switch_display\switch.bat
并确保该目录中还有 nircmd.exe。然后您可以在桌面上创建该脚本的快捷方式。