要让软件每次启动都自动出现在副显示器上,需先确认副屏编号为2或更高并正确设置物理布局;然后修改快捷方式目标添加“-monitor 2”参数,或用PowerShell脚本强制定位,或对Win32程序通过副屏内关闭来利用系统窗口记忆功能。

你想让某个软件(比如记事本、Chrome 或 VS Code)每次启动都自动出现在副显示器上,而不是挤在主屏左上角再手动拖动——这需要干预它的启动行为,不能靠关掉窗口前拖到副屏就完事,系统对多数程序根本不记住关在哪块屏。
确认副屏编号与物理布局
所有后续操作的前提是:系统准确识别并稳定编号副屏。打开“设置 → 系统 → 显示”,点击“标识”按钮,副屏上必须清晰显示数字“2”或更高;若显示“1”,说明它被系统误判为主屏,需先检查线缆连接、更新显卡驱动并重启电脑。
在同一页面中,用鼠标拖拽两个显示器缩略图,使其左右/上下排列顺序与你真实桌面摆放完全一致——例如外接显示器实际在笔记本右侧,则把编号“2”的缩略图拖到编号“1”的右侧;鼠标从主屏右边缘移出后,必须精准进入副屏左边缘,否则窗口坐标计算会错乱。【副屏编号必须为2或更高,不能是1】。
修改快捷方式目标添加-monitor参数
这是最稳定、重启后仍生效的方法,适用于 Chrome、Edge、Notepad++、VS Code 等绝大多数桌面程序,无需管理员权限,也不依赖后台服务。
第一步:在桌面或开始菜单中找到该软件的快捷方式(带小箭头图标),右键 → “属性”。
第二步:切换到“快捷方式”选项卡,在“目标”文本框末尾,光标定位到最后一个英文引号【内部】,紧贴引号前输入一个半角空格,然后粘贴:【-monitor 2】(若副屏编号是3,就写 -monitor 3)。
例如原目标为:"C:Program FilesMicrosoftEdgeApplicationmsedge.exe",修改后应为:"C:Program FilesMicrosoftEdgeApplicationmsedge.exe" -monitor 2。
第三步:点击“确定”保存。下次双击此快捷方式启动,窗口将强制出现在编号匹配的显示器上。注意:若程序不支持该参数,会静默忽略,无任何提示;建议优先对 Chrome、VS Code、Notepad++ 这类现代桌面应用尝试,老旧 Java 客户端大概率无效。
用PowerShell脚本强制定位副屏
适用于不响应 -monitor 参数的顽固程序(如某些 ERP 客户端、Java 工具),或你想保留原始启动方式(比如从开始菜单点击、任务栏固定项启动)又要求 100% 落地到副屏。
方法一:新建记事本文件,粘贴以下代码:
$proc = Start-Process "notepad.exe" -PassThru; Start-Sleep -Milliseconds 300; $hwnd = $proc.MainWindowHandle; if ($hwnd -ne 0) { $screen = [System.Windows.Forms.Screen]::AllScreens | Where-Object {$_.DeviceName -eq "\.DISPLAY2"}; if ($screen) { $pos = New-Object System.Drawing.Point($screen.WorkingArea.Left, $screen.WorkingArea.Top); [System.Windows.Forms.NativeMethods]::SetWindowPos($hwnd, 0, $pos.X, $pos.Y, $screen.WorkingArea.Width, $screen.WorkingArea.Height, 0x0040) } }
保存为 move-to-monitor2.ps1(扩展名必须是 .ps1);右键该文件 → “使用 PowerShell 运行”测试效果。成功后可将其绑定为快捷方式目标,或通过任务计划程序触发。
注意:脚本中 \.DISPLAY2 必须与你副屏的实际设备名一致——可在 PowerShell 中运行 [System.Windows.Forms.Screen]::AllScreens | ForEach-Object {$_.DeviceName} 查看真实名称,常见为 \.DISPLAY1、\.DISPLAY2,但部分多显卡环境可能为 \.DISPLAY3 或更长字符串。
利用系统窗口记忆功能(仅限传统 Win32 程序)
这个方法对 Word、Excel、SnippingTool、旧版 Edge 等 Win32 程序有效,但对 UWP 应用(天气、邮件、设置)完全无效,且必须严格按顺序操作才生效。
① 关闭所有该程序的运行实例,包括后台进程(可在任务管理器 → “详细信息”中搜索进程名并结束)。
② 右键该软件快捷方式 → “以管理员身份运行”(首次设置时强烈建议,避免权限不足导致位置未被记录)。
③ 窗口出现后,立刻用鼠标将其完整拖入副显示器可视区域,调整至期望大小(无需最大化,但不能超出屏幕边界)。
④ 在副显示器内直接关闭该窗口——【必须在副屏内关闭,不能拖回主屏再点叉】,Windows 才会记录这次关闭时的屏幕归属和坐标。
⑤ 下次通过任意方式(开始菜单、任务栏、快捷方式)启动,程序将复用上次关闭时的位置和屏幕。


















