应启用ddc/ci协议并配置软件热键实现一键切换:windows用controlmymonitor或autohotkey,macos用ddcctl,显示器osd还需开启自动源检测功能。

当你为同一台显示器同时接入台式机、笔记本、游戏主机等多个信号源,却每次都要伸手按OSD菜单反复切换输入源,耗时又打断工作流,说明你还没启用软件级一键切换能力。这种操作本该用键盘热键3秒完成,而不是手动翻5层菜单。
确认显示器是否支持DDC/CI协议
这是所有软件切换方案的前提——若显示器硬件不响应DDC指令,后续所有脚本和命令都将失效。
打开显示器OSD菜单,找到“设置”→“系统”或“高级设置”子项,查找“DDC/CI”、“显示器控制”、“远程控制”等类似名称选项。
将该功能设为【开启】;部分品牌(如Dell、LG、BenQ)默认关闭,必须手动启用才能接收软件指令。
保存退出后,重启显示器电源——这一步不可跳过,否则新设置不会加载进固件缓存。
Windows平台一键切换:ControlMyMonitor + 批处理
此方法直接向显示器发送VCP指令,响应快、无系统投影干扰,适合多屏专业用户。
第一步:访问nirsoft.net下载ControlMyMonitor绿色版,解压到固定路径(如D:\Tools\ControlMyMonitor)。
第二步:双击运行ControlMyMonitor.exe,在列表中查找“Input Select”项,确认其“Current Value”和“Possible Values”列有数值(如15、17、8),若显示“N/A”或为空,则DDC/CI未生效或显示器不支持。
第三步:在CMD中依次执行测试命令,观察画面是否真实切换:
ControlMyMonitor.exe /SetValue Primary 60 15 → 切至DP口
ControlMyMonitor.exe /SetValue Primary 60 17 → 切至HDMI口
第四步:记下各接口对应值(例:DP=15,HDMI=17,USB-C=21),新建两个.bat文件,内容分别为:
ControlMyMonitor.exe /SetValue Primary 60 15
ControlMyMonitor.exe /SetValue Primary 60 17
第五步:右键任一.bat→属性→快捷方式→快捷键栏,分别设为Ctrl+Alt+D和Ctrl+Alt+H——热键需同时按下三个键才触发,避免误触。
Windows通用备选:AutoHotkey模拟Win+P操作
当显示器不支持DDC/CI,或显卡驱动异常导致ControlMyMonitor识别失败时,此法仍可稳定工作。
方法一:切换至“仅第二屏幕”
^!s::SendInput, #{p} Sleep, 300 SendInput, {Down 3}{Enter}
方法二:切换至“扩展模式”
^!e::SendInput, #{p} Sleep, 300 SendInput, {Down 2}{Enter}
注意:{Down 3}中的数字取决于当前Win+P面板中选项顺序,不同系统版本可能差异——务必先手动调出Win+P菜单,数清“仅第二屏幕”是第几项再修改脚本。
macOS平台切换:ddcctl命令行工具
macOS原生不开放输入源控制API,但ddcctl通过I2C总线绕过系统限制,实测兼容M1/M2/M3芯片及macOS Sonoma/Ventura系统。
第一步:在终端执行brew install ddcctl安装工具(需提前装Homebrew)。
第二步:运行ddcctl -d 1 list,查看显示器支持的VCP代码,确认60号(Input Select)存在且值域非空。
第三步:执行ddcctl -d 1 -i 15切换主显示器至DP输入源,-i 17切至HDMI——数值含义与Windows平台一致,可复用之前测试结果。
第四步:为常用命令创建别名,例如在~/.zshrc中添加alias dp='ddcctl -d 1 -i 15',保存后source ~/.zshrc,之后终端输入dp即可执行。
显示器OSD端自动源检测启用
这是真正“插拔即切”的物理层基础,无需任何软件参与,但多数人从未开启。
使用显示器实体按键(通常标为Menu或Source)进入OSD,导航至“信号源”→“自动输入切换”类选项。
不同品牌叫法不同:LG称“Auto Input Switch”,Dell叫“Auto Source Search”,AOC/Philips多为“Auto Input Detection”。
将其设为【开启】,部分型号还需设定检测优先级(如HDMI1→DP→HDMI2),否则可能跳过你正在使用的接口。
退出菜单后,拔掉当前活跃信号线,等待3–8秒——若屏幕自动亮起并显示另一信号源画面,说明已生效。











