有没有办法检查哪个显示器是主显示器,然后在windows命令行中执行基于该显示器的命令?

wwtsj6pe  于 2023-06-30  发布在  Windows
关注(0)|答案(2)|浏览(185)

我正在使用nircmd通过使用桌面上的两个批处理文件在第一台和第二台显示器之间更改主显示器;一个用于将主显示设置到第一监视器,另一个用于将主显示设置到第二监视器。
我想知道是否有一种方法来检查哪个显示器是当前的主显示器,然后根据该结果,将显示器更改为另一个。实际上,我想将两个批处理文件合并为一个,以便可以使用一个文件切换显示。

gojuced7

gojuced71#

感谢Alex K。如果其他人也想做这样的事情,下面是代码的样子(我相信有更好的方法)。
我刚刚创建了一个文件夹,其中包含确定哪个监视器是当前主显示器的空文本文件。FILEPATH是该文件夹的路径。
IF EXIST FILEPATH\test.txt ( nircmd.exe setprimarydisplay 2 cd c:\\ cd FILEPATH del test.txt ) ELSE ( nircmd.exe setprimarydisplay 1 cd c:\\ cd FILEPATH echo.> test.txt )
如果其他人偶然发现了这一点,请随时询问细节。

tp5buhyn

tp5buhyn2#

$flagFile = "N:\Apps_Portable\_CmdLineTools\nircmd-x64\MonSwitcher\monswitch.bin"

if (Test-Path $flagFile) {
    # Flag file exists, so switch to the other monitor
    & "N:\Apps_Portable\_CmdLineTools\nircmd-x64\nircmd.exe" setprimarydisplay 2
    Remove-Item $flagFile
} else {
    # Flag file does not exist, switch to the first monitor
    & "N:\Apps_Portable\_CmdLineTools\nircmd-x64\nircmd.exe" setprimarydisplay 1
    New-Item -ItemType File -Path $flagFile -Force
}

使用您创建一个文件来检查我们处于哪个状态的逻辑(而不是简单地查询哪个监视器是主监视器,因为我没有看到这样做的方法),我已经创建了这个PS1/Powershell脚本。然后,我创建了一个桌面快捷方式来使用这个脚本运行powershell。

相关问题