Win11中可通过三种方法实现软件启动时自动出现在副屏:一是修改快捷方式目标路径添加-monitor 2参数;二是用PowerShell脚本强制移动窗口至副屏;三是通过注册表WindowPositions项绑定窗口位置,三者均需先确认副屏编号为2及以上并正确设置物理布局。

Win11中,当已配置双屏扩展模式后,希望某个特定软件(如记事本、Chrome、VS Code)每次启动都自动出现在副屏而非主屏,且系统重启后仍保持该行为——这不能靠窗口拖动或最大化解决,必须通过修改启动参数或注册表绑定显示器编号实现。
确认副屏编号与物理布局
先确保系统准确识别并稳定编号副屏,否则后续所有设置都会失效。打开“设置 → 系统 → 显示”,点击“标识”按钮,副屏上会短暂显示数字(如“2”);若无反应,说明编号未固定,需先检查线缆、信号源及显卡驱动状态。
在同一个页面中,拖拽两个显示器缩略图,使其左右/上下排列顺序与你实际桌面物理摆放完全一致——鼠标从主屏右边缘移出后,必须精准进入副屏左边缘,否则窗口位置计算会错乱。
【副屏编号必须为2或更高,不能是1】。Windows默认将最先识别的显示器设为1号主屏,后续识别的依次为2、3……若副屏被标为1,则主屏反成2,所有定向启动参数都将指向错误屏幕。
方法一:修改快捷方式目标路径添加启动参数
适用于绝大多数桌面应用(.exe可执行文件),无需管理员权限,生效快,但仅对通过该快捷方式启动的行为有效。
找到该软件的桌面快捷方式或开始菜单快捷方式,右键 → “属性”。
在“目标”文本框末尾,**空一格后**粘贴:-screen-fullscreen1 -monitor 2(注意:前面有空格,-monitor后的数字必须与副屏实际编号一致)。
例如原目标为:"C:Program FilesNotepad++
otepad++.exe",修改后应为:"C:Program FilesNotepad++
otepad++.exe" -screen-fullscreen1 -monitor 2。
点击“确定”保存。下次双击此快捷方式启动,窗口将强制在副屏打开并填满全屏;若软件不支持该参数,会忽略,无报错。
方法二:用PowerShell脚本强制移动窗口到副屏
适用于不接受命令行参数的程序(如某些Java应用、旧版ERP客户端),或你想保留原始启动方式(比如从开始菜单点击),又要求100%落地到副屏。
第一步:以记事本新建一个文本文件,输入以下内容:
$proc = Start-Process "C:PathToYourApp.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) {
$posX = $screen.WorkingArea.X
$posY = $screen.WorkingArea.Y
$width = $screen.WorkingArea.Width
$height = $screen.WorkingArea.Height
Add-Type @"
using System;
using System.Runtime.InteropServices;
public class WinAPI {
[DllImport("user32.dll", SetLastError = true)]
public static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);
}
@"
[WinAPI]::MoveWindow($hwnd, $posX, $posY, $width, $height, $true)
}
}
第二步:将 C:PathToYourApp.exe 替换为你要启动的真实程序完整路径;将 \.DISPLAY2 中的 2 改为你副屏的实际设备名(可在PowerShell中运行 [System.Windows.Forms.Screen]::AllScreens 查看 DeviceName 列)。
第三步:将文件另存为 LaunchOnSecondary.ps1,右键该文件 → “使用PowerShell运行”。首次运行会提示策略限制,需以管理员身份打开PowerShell,执行:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser。
方法三:注册表绑定窗口位置(高级持久方案)
此法绕过应用层,由系统在窗口创建瞬间注入坐标,对所有启动方式(开始菜单、任务栏、快捷键、自动启动)均生效,且重启后依旧有效,但需谨慎操作。
按 Win + R 输入 regedit,定位到:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPreferences。
右键右侧空白区 → 新建 → “项”,命名为 WindowPositions(若已存在则跳过)。
在 WindowPositions 下再新建一项,名称必须与目标程序的窗口类名或进程名严格匹配——获取方式:启动该程序 → 按 Ctrl+Shift+Esc 打开任务管理器 → 切换到“详细信息”页 → 右键进程 → “转到服务”,记下映像名称(如 chrome.exe);或使用工具如 Spy++ 获取真实窗口类名(如 Chrome_WidgetWin_1)。
在新建的子项中,新建字符串值,名称为 WindowRect,数值数据填入四元组格式:left,top,right,bottom,其中 left 和 top 应设为副屏左上角坐标(如副屏分辨率为1920×1080、位于主屏右侧,则 left=1920, top=0, right=3840, bottom=1080)。
【修改前务必导出该注册表分支备份】。填错会导致窗口不可见或错位,且无法通过常规方式找回——只能手动删除该注册表项或恢复备份。

















