notepad++ 无原生置顶功能,新版v8.4+的view菜单无「always on top」选项;唯一内置稳定方案是nppexec插件配合两条消息命令(sci_sendmsg 2098与npp_sendmsg 1040);alt+space→t为临时原生方案;alwaysontop.exe是跨会话最可靠外部方案。

Notepad++ 本身没有「窗口置顶」功能,别在菜单或设置里浪费时间
新版 Notepad++(v8.4+)的 View 菜单里压根没有「Always on Top」或「总在最前」选项——不是你没找到,是它真没实现。源码里没调用 WS_EX_TOPMOST,主窗口句柄也不支持该扩展样式。所有声称“勾选偏好设置就能置顶”“改 config.xml 中的 AppPosition”的说法,都混淆了窗口位置和 Z-order 层级,实际无效。
NppExec 插件配合两条消息命令是唯一内置稳定方案
必须同时向 Scintilla 编辑控件和 Notepad++ 主窗口发送系统消息,缺一不可:
-
sci_sendmsg 2098 0 0:控制编辑区控件(Scintilla 消息 ID 2098 是SCI_SETALWAYSSTAYONTOP) -
npp_sendmsg 1040 0 0:控制主窗口(NPPM_SETCURRENTSESSSION类似用途,但此处用于触发 Z-order 更新)
单独执行任意一条都只会让编辑区或标题栏局部“看起来”置顶,实际窗口仍会被其他程序遮挡。操作路径:Plugins → Plugins Admin → 安装 NppExec → 重启 → 按 F6 → 粘贴两行 → Save → 命名为 Toggle Topmost → 勾选 Place On Toolbar。点击按钮即可切换状态,但每次重启 Notepad++ 后需手动再点一次。
Alt+Space→T 是最轻量的临时方案,但不持久
这是 Windows 原生 Win32 窗口通用机制,无需插件或工具:
- 确保 Notepad++ 窗口已激活(点一下标题栏或编辑区)
- 按
Alt+Space,松开后立刻按T - 窗口即刻置顶;重复相同操作取消
⚠️ 注意:该状态仅维持到窗口失焦、最小化或关闭。部分全屏应用(如 Zoom、某些游戏)会拦截该快捷键;RDP 远程桌面环境下也可能失效。
AlwaysOnTop.exe 是目前最可靠的跨会话外部方案
它不修改注册表、不注入进程,纯用户态调用 SetWindowPos API:
- 下载绿色版
AlwaysOnTop.exe,直接运行 - 右键托盘图标 →
AlwaysOnTop→ 十字准星出现 - 左键点击 Notepad++ 窗口任意可见区域(非最小化状态)
- 标题栏末尾显示
- AlwaysOnTop即生效
⚠️ 若 Notepad++ 是以管理员权限启动的,AlwaysOnTop.exe 也必须右键 → “以管理员身份运行”,否则置顶失败。这个方案能跨 Notepad++ 重启保留状态,但对 UAC 提权窗口或某些受保护视图文档仍需注意权限匹配。











