Windows 10笔记本外接多显示器:保留单屏关闭其余的技术方案问询
解决方案:针对性关闭指定显示器(保留单屏显示且不改变窗口位置)
既然你已经在用nircmd,那其实它本身就支持指定关闭特定显示器,完美解决你手动关闭Ilyama无效的问题,还能保证所有窗口位置完全保留——因为这种方式是系统级禁用显示输出,不是修改显示布局,窗口的坐标不会被改动。
第一步:获取每台显示器的唯一ID
先运行这个命令来列出所有连接的显示器信息:
nircmd enumdisplay
你会看到类似这样的输出(示例):
Display 1: \\.\DISPLAY1 Device Name: \\?\DISPLAY#NECXXXX#5&123456&0&UID1234#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} Friendly Name: NEC MultiSync EX241UN Resolution: 1920x1080, BitsPerPixel: 32, Frequency: 60 Display 2: \\.\DISPLAY2 Device Name: \\?\DISPLAY#IlyamaXXXX#5&654321&0&UID4321#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} Friendly Name: Iiyama ProLite XB2783HSU Resolution: 2560x1440, BitsPerPixel: 32, Frequency: 144 ...
找到你想要保留的那台显示器对应的Display X(比如上面的Display 2是Ilyama),记下这个数字ID。
第二步:编写单屏保留脚本
新建一个.bat文件(比如KeepSingleMonitor.bat),内容如下:
@echo off :: 关闭除了Display 2之外的所有显示器(把数字改成你要保留的ID) nircmd monitor off 1 nircmd monitor off 3 nircmd monitor off 4
- 把里面的
1、3、4替换成你要关闭的显示器ID,只保留你需要的那台不写进去。 - 如果
nircmd不在系统PATH里,记得写绝对路径,比如C:\Tools\nircmd\nircmd.exe monitor off 1。
运行这个脚本后,只有你指定的那台显示器会保持点亮,其他的都会被系统关闭显示——不管是NEC还是Ilyama都能生效,因为这是通过Windows的显示驱动接口操作的,和显示器本身的物理按键无关。
第三步:编写多屏恢复脚本
再建一个恢复用的.bat文件(比如RestoreAllMonitors.bat),内容很简单:
@echo off nircmd monitor on all
运行它就能一键恢复所有显示器的显示,所有窗口会回到原来的位置,完全不用重新排列。
关键说明
- 窗口位置保留:这种方式只是关闭显示器的输出,Windows仍然会保留原来的多屏扩展布局,窗口的坐标信息不会被修改,恢复显示后一切和之前一模一样。
- Ilyama显示器兼容性:手动关闭无效是因为部分新款显示器的物理按键逻辑和系统控制不兼容,但
nircmd是直接调用Windows的SetDisplayConfigAPI来禁用显示,完全绕开显示器的物理控制,所以肯定能生效。
内容的提问来源于stack exchange,提问作者Mordan




