notepad++ 官方不支持窗口置顶功能,新版 v8.4+ 的 view 菜单中无「always on top」选项,源码未实现 ws_ex_topmost 接口;唯一稳定方案是通过 nppexec 插件调用 sci_sendmsg 2098 和 npp_sendmsg 1040 配合切换置顶状态。

Notepad++ 官方不支持窗口置顶,菜单里没有「总在最前」选项,改配置文件、右键标题栏、勾选偏好设置都无效——这不是你漏操作,是它真没这个功能。
为什么 View → Always on Top 在 Notepad++ 里找不到
新版 Notepad++(v8.4+)的 View 菜单中压根没有该条目。网上教程提到的,多数混淆了 notepad--(双短横线)——那是另一款国产编辑器,原生支持置顶;而 notepad++ 基于 Scintilla + Win32,主窗口未暴露 WS_EX_TOPMOST 控制接口。源码里没实现,插件也调不动。
- 所谓「安装插件后菜单出现」的说法,基本来自旧版失效插件(如 PinMe),在 v7.x 后已完全不可用
-
Settings → Preferences → MISC中的Remember current session for next launch只保存打开的文件和光标位置,不影响窗口层级 - 任务管理器里进程名可能是
notepad++.exe、notepad++或notepad,取决于启动方式,影响 PowerShell 脚本匹配
NppExec 插件调用 Windows API 实现可靠切换
这是目前唯一能跨版本稳定生效的内置方案,原理是绕过 UI 线程限制,同时向 Scintilla 编辑控件和 Notepad++ 主窗口发送系统消息。
- 先通过
Plugins → Plugins Admin安装NppExec,重启 Notepad++ - 按
F6打开命令窗口,粘贴两行(缺一不可):sci_sendmsg 2098 0 0<br>npp_sendmsg 1040 0 0
- 点击
Save,命名为Toggle Topmost,勾选Place On Toolbar - 之后点工具栏按钮即可切换置顶/取消置顶
⚠️ 单独执行 sci_sendmsg 2098 或 npp_sendmsg 1040 都无效:前者只动编辑区,后者只动主窗,必须配合才能真正提升 Z-order。
Alt+Space→T 是最轻量的临时方案
无需安装、不依赖插件,所有标准 Win32 窗口通用,适合快速比对日志或查文档时用。
- 确保 Notepad++ 窗口已激活(点一下标题栏或编辑区)
- 按
Alt+Space打开系统控制菜单,松开后立刻按T - 窗口即刻置顶;重复一次相同操作可取消
⚠️ 注意:该状态不跨会话,关闭再打开就失效;全屏应用(如 Zoom、某些游戏)可能劫持此快捷键;Windows 11 的贴靠布局有时会让置顶窗口在 Alt+Tab 切换时意外失焦。
AlwaysOnTop.exe 是最省心的外部工具方案
绿色免安装,纯用户态调用 SetWindowPos,兼容性最好,尤其适合长期开发环境。
- 下载
AlwaysOnTop.exe(注意选无签名但口碑好的轻量版) - 若 Notepad++ 是以管理员权限运行的,
AlwaysOnTop.exe也必须右键「以管理员身份运行」,否则置顶失败 - 右键托盘图标 →
AlwaysOnTop,鼠标变十字后左键点击 Notepad++ 窗口任意可见区域 - 确认标题栏末尾出现
- AlwaysOnTop标识即生效
远程桌面(RDP)环境下所有 API 方案都会被拦截,此时只能靠手动拖拽窗口+禁用贴靠来缓解遮挡问题。











