Notepad++ 启动报“无法创建进程”是系统级问题,源于Windows拒绝分配进程句柄,常见于句柄耗尽、杀毒拦截、UAC权限协商失败或安装路径越权(如C:\Program Files\),发生在CreateProcessW阶段,早于任何插件或配置加载。

Notepad++ 启动时报“无法创建进程”,基本不是 Notepad++ 自己出的问题,而是 Windows 拒绝为其分配新进程句柄——根源在系统级资源耗尽或权限链断裂,常见于长时间未重启、杀毒软件拦截、UAC 策略收紧或安装路径越权的场景。
为什么 Notepad++ 会卡在“无法创建进程”这一步
这个错误通常对应 Windows API 返回的 ERROR_NOT_ENOUGH_MEMORY 或 ERROR_ACCESS_DENIED,但 Notepad++ 日志里不会直接显示。它发生在 CreateProcessW 调用阶段,早于插件加载、配置读取等任何内部逻辑。也就是说:连主程序的.exe都没跑起来,更别说语法高亮或插件了。
典型诱因包括:
- Windows 会话句柄数达到上限(默认每用户约 10,000 个),尤其在多开远程桌面、WSL2、Docker Desktop 后容易触发
- 杀毒软件(如 Bitdefender、Kaspersky)将
notepad++.exe或其子进程(如调用cmd.exe执行外部工具时)标记为可疑并静默拦截 - UAC 被设为“始终通知”,而 Notepad++ 安装在
C:\Program Files\下,导致启动时权限协商失败(尤其 8.8+ 版本对 MSI 兼容性更敏感) - 系统临时目录(
%TEMP%)被写满或权限异常,Notepad++ 启动时需创建.tmp文件用于会话恢复或插件通信
快速验证是否是句柄/进程资源耗尽
不用装第三方工具,用系统自带命令就能定位:
- 打开任务管理器 → “性能”选项卡 → 查看右下角“句柄数”和“线程数”,若句柄 > 9500,基本可确认是瓶颈
- 以管理员身份运行 PowerShell,执行:
Get-Process | Group-Object -Property ProcessName | Where-Object Count -gt 10 | Sort-Object Count -Descending—— 查看是否有异常大量同名进程(比如几百个conhost.exe或残留的notepad++.exe) - 检查
%TEMP%目录大小:dir %TEMP% /s,若超过 2GB 且含大量*.tmp或nplog_*.log,说明 Notepad++ 上次异常退出后没清理干净
不重装、不改注册表的三步清理法
多数情况下,以下操作 2 分钟内可恢复启动:
- 强制结束所有残留进程:
taskkill /f /im notepad++.exe /t(加/t确保子进程一并清除) - 清空临时文件:
del /f /q "%TEMP%\nplog_*.log" "%TEMP%\*.tmp";再手动删掉%TEMP%\NppFTP\和%TEMP%\PluginManager\这两个目录(它们常因权限问题卡住) - 绕过 UAC 权限协商:右键 Notepad++ 快捷方式 → “属性” → “快捷方式”选项卡 → “高级” → 勾选“以管理员身份运行此程序” → 点击“确定”。注意:这不是长期方案,仅用于快速验证是否为权限问题
真正治本:把 Notepad++ 移出 Program Files
Notepad++ 8.8+ 对 C:\Program Files\ 路径的写入依赖非常强,但 Windows 默认禁止非提权写入。一旦插件缓存、会话文件、语法定义 XML 在该路径下创建失败,后续启动就会反复尝试重建进程并失败。
正确做法是:
- 卸载当前版本(勾选“删除配置文件”可选,但建议先备份
%AppData%\Notepad++\) - 重新安装时,在安装向导第二步就点击“浏览”,指定路径为
D:\Tools\Notepad++或%USERPROFILE%\Documents\Notepad++(确保路径无空格、无中文、不在系统盘受保护目录) - 安装完成后,首次启动前,右键
notepad++.exe→ “属性” → “兼容性” → 取消勾选所有选项(尤其是“以兼容模式运行”),避免触发额外的权限层
最易被忽略的是:即使你用了便携版,如果解压到 C:\Program Files\ 下,它一样会遭遇相同权限问题——路径决定行为,跟安装方式无关。


















