必须将副屏编号设为2或更高并匹配物理布局,再通过快捷方式添加“-screen-fullscreen1 -monitor 2”参数实现自动副屏全屏启动;顽固程序可用powershell脚本强制定位。

你想让某个软件(比如记事本、Chrome 或监控看板)每次启动都自动在副显示器上以全屏窗口形式打开,而不是先弹在主屏左上角再手动拖、再点最大化——这需要同时锁定显示器编号和强制全屏状态,单靠拖动或设“最大化”运行方式无法达成目标。
确认副屏编号与物理布局
所有后续操作生效的前提是系统已稳定识别副屏且编号准确。打开“设置 → 系统 → 显示”,点击“标识”按钮,副屏上必须清晰显示数字“2”(或更高);若显示“1”,说明它被系统误判为主屏,需检查线缆连接顺序、显卡驱动是否最新,并重启电脑重新识别。【副屏编号必须为2或更高,不能是1】。接着在同一页面中,用鼠标拖拽两个显示器缩略图,使其左右/上下排列顺序与你真实桌面摆放完全一致——例如外接显示器实际在笔记本右侧,则缩略图也必须右置,否则窗口坐标计算会错乱,导致位置偏移甚至不可见。
修改快捷方式目标参数强制副屏全屏
这是最直接、重启后仍生效的方法,适用于 Chrome、Edge、Notepad++、VS Code 等绝大多数桌面程序(.exe 文件),无需第三方工具或脚本。
第一步:在桌面或开始菜单中找到该软件的快捷方式(带小箭头图标),右键 → “属性”。
第二步:切换到“快捷方式”选项卡,在“目标”文本框中,将光标定位到最后一个英文引号【内部】,紧贴引号前输入一个半角空格,然后粘贴:-screen-fullscreen1 -monitor 2。
例如原内容为:"C:Program FilesNotepad++ otepad++.exe",修改后应为:"C:Program FilesNotepad++ otepad++.exe" -screen-fullscreen1 -monitor 2。注意引号必须保留,空格不可省略,【-monitor 后的数字必须与你副屏实际编号完全一致】。
第三步:点击“确定”保存。下次双击此快捷方式启动,程序将直接在副屏以全屏窗口模式打开。
配合“运行方式”设为最大化(仅当参数不生效时补救)
某些老旧程序(如部分 Java 客户端或定制 ERP)不识别 -screen-fullscreen1 参数,但能响应系统级窗口行为——此时可叠加“最大化”运行方式,作为后备方案。
在同一个快捷方式属性窗口中,找到“运行方式”下拉菜单,将其改为“最大化”。
这一步不会改变显示器归属,仅控制窗口大小;必须与上一步的 -monitor 2 配合使用才有效,单独设置只会让窗口在主屏最大化。
用PowerShell脚本强制定位到副屏全屏
适用于完全不响应命令行参数、又必须从开始菜单或任务栏原生启动的顽固程序(如某些 UWP 封装应用或无源码的行业软件)。
方法一:新建记事本文件,粘贴以下代码,保存为 launch-on-monitor2-full.ps1(扩展名必须是 .ps1):
$proc = Start-Process "C:PathToYourApp.exe" -PassThru; Start-Sleep -Milliseconds 500; $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.Bounds.X, $screen.Bounds.Y); $size = New-Object System.Drawing.Size($screen.Bounds.Width, $screen.Bounds.Height); $win = [System.Runtime.InteropServices.Marshal]::GetActiveObject("Shell.Application"); $win = [System.Runtime.InteropServices.Marshal]::GetActiveObject("Shell.Application"); Add-Type @" using System; using System.Runtime.InteropServices; public class WinApi { [DllImport("user32.dll", SetLastError = true)] public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags); } "@; [WinApi]::SetWindowPos($hwnd, 0, $pos.X, $pos.Y, $size.Width, $size.Height, 0x40); } }
将其中 C:PathToYourApp.exe 替换为你实际的程序路径,\.DISPLAY2 中的 2 改为你的副屏实际设备编号(可在 PowerShell 中运行 [System.Windows.Forms.Screen]::AllScreens | ForEach-Object {$_.DeviceName} 查看)。
方法二:右键该 .ps1 文件 → “使用 PowerShell 运行”,首次运行会提示执行策略限制,按提示以管理员身份打开 PowerShell,执行:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,回车确认即可。
之后双击该脚本,程序将在副屏以全屏尺寸精准覆盖显示。











