切换主显示屏的快捷方式

切换主显示屏的快捷方式

我的电视连接到我的电脑上,电脑也有自己的显示器。当我坐在沙发上控制电脑时,我会用蓝牙将控制器和无线键盘连接到电脑上;当我坐在办公桌前时,我会用有线键盘和鼠标。除了主显示器的设置外,这个设置很棒。

当我坐在沙发上想要启动一个程序时,它将在主显示器上启动(主显示器设置为我桌子上的显示器)。这并不理想,所以我希望能够轻松无缝地在主显示器之间切换。我确信一定有一个命令可以做到这一点,在这种情况下,我只需将快捷方式添加到我的桌面,单击后即可切换主显示器。我正在寻找一种类似于 bat、cmd、powershell 的方法,并希望避免使用第三方软件。

有人能帮我解决这个问题吗?谢谢

答案1

如果窗口出现在错误的显示器上并且桌面处于扩展模式,您可以使用 Win+ Shift+Arrow 将活动窗口向左/向右移动到上一个/下一个显示器。

如果您想更改主显示器,则需要使用第三方产品。

以下是一些此类免费产品。当使用显示器编号时,您需要通过反复试验来找出您的显示器的编号。

所有这些产品都具有命令行模式,因此您可以使用批处理脚本。脚本可以通过桌面上的图标启动,并且可能还分配了热键以方便使用。

答案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。然后您可以在桌面上创建该脚本的快捷方式。

相关内容