最近一直在 Windows 11 上使用 Notepad4,也启用了它自带的“替换系统记事本”功能。普通的 notepad.exe 调用可以正常转交给Notepad4,但 Windows 11 新版右键菜单中的“使用记事本打开”属于 Microsoft Store 版 Notepad,并不会被 Notepad4 的替换功能接管。现有的一些 Notepad Replacer 工具也主要处理 notepad.exe 调用,解决不了这个右键菜单的问题,于是干脆自己重新造了一个。
我做的 NotepadReplacer 会移除 Microsoft Store 版 Notepad,将系统对 notepad.exe 的调用转发到指定编辑器,并重新注册一个 Windows 11 新版“使用记事本打开”右键菜单。这样无论是程序调用记事本,还是在资源管理器中右键打开文件,最终都会使用自己选择的编辑器。
项目名称就叫 NotepadReplacer,主要解决两件事:
- 将系统对 notepad.exe 的调用转发到自己指定的编辑器,例如 Notepad4、Notepad++ 等
- 在 Windows 11 新版文件右键菜单中重新提供“使用记事本打开”,不需要进入“显示更多选项”
- 支持一次选中多个文件并通过右键菜单打开
- 提供安装和卸载程序,安装失败时会自动回滚
实现上,notepad.exe 的调用转发使用了 Windows 的 IFEO 机制;新版右键菜单则通过 MSIX 和 IExplorerCommand 扩展实现。右键菜单会直接调用所配置的编辑器,不依赖已经被替换的记事本程序。
需要注意:
- 目前完整功能面向 64 位 Windows 11
- 安装程序会移除 Microsoft Store 版记事本
- 卸载后不会自动恢复 Store 版记事本,需要的话要从 Microsoft Store 手动安装
- 目前还处于早期阶段,建议使用前了解一下 README 中的说明
项目地址:GitHub - benzBrake/NotepadReplacer · GitHub
项目使用 C++17 开发,采用 GPLv3-or-later 许可证。欢迎试用、反馈问题或者提交 PR。
