一、简介
Windows 右键新建菜单的核心管理机制隐藏在注册表的 HKEY_CLASSES_ROOT 根键中。这里存在两种关键注册表项:文件扩展名项和文件类型项,它们共同构成了新建菜单的完整控制体系。
以常见的.txt文件为例,系统通过以下机制实现新建菜单功能:
1.初始化扫描阶段
- Windows Shell在启动时会自动扫描HKEY_CLASSES_ROOT下所有以点号(.)开头的扩展名项
- 对每个扩展名项,系统会读取其默认值,该值指向对应的文件类型项(如.txt对应txtfile)
2.菜单项生成判断 - 系统会检查扩展名项下是否存在ShellNew子项
- 当同时满足"存在ShellNew子项"且"默认值指向有效类型项"时,该文件类型才会出现在新建菜单中
3.显示名称确定 - 系统会读取文件类型项的默认值作为菜单显示名称
- 例如txtfile项的默认值"Text Document"会经过本地化处理显示为"文本文档"(中文系统)
- ShellNew子项则负责控制具体的创建行为(如生成空白文件或使用模板)
二、将notepad++添加到新建菜单中
1.git下载地址:https://github.com/notepad-plus-plus/notepad-plus-plus/releases,选择最新版本下载安装即可,git无法访问的请参考文章:国内无法访问GitHub官网的问题解决
2.搜索“注册表编辑器”打开,也可使用window+r输入regedit
3.在“计算机\HKEY_CLASSES_ROOT”路径下新建.npp,设置默认值nppfile
4.在.npp下新建ShellNew,并添加字符串值名称为NullFile
5.在“计算机\HKEY_CLASSES_ROOT”路径下新建nppfile,设置默认值为Notepad++
6.在nppfile下新建DefaultIcon、shell>open>command
7.设置DefaultIcon值为notepad.exe路径+0,如:“D:\Program Files\Notepad++\notepad++.exe”,0
8.设置command值为notepad.exe路径+%1,如:“D:\Program Files\Notepad++\notepad++.exe” “%1”
9.桌面点击右键>刷新,或者cmd运行taskkill /f /im explorer.exe && start explorer.exe,然后桌面点击右键>新建,下拉菜单中会出现Notepad++选项
10.通过reg文件创建菜单,将下图代码保存到.reg文件运行后,刷新即可
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.npp]
@="nppfile"
[HKEY_CLASSES_ROOT\.npp\ShellNew]
"NullFile"=""
[HKEY_CLASSES_ROOT\nppfile]
@="Notepad++ Document"
[HKEY_CLASSES_ROOT\nppfile\DefaultIcon]
@="\"D:\\Program Files\\Notepad++\\notepad++.exe\",0"
[HKEY_CLASSES_ROOT\nppfile\shell\open\command]
@="\"D:\\Program Files\\Notepad++\\notepad++.exe\" \"%1\""
三、通过设置默认应用改变.txt创建方式
1.打开设置
2.找到应用,点击默认应用
3.搜索记事本点击进去,里面会有很多文件后缀名
4.在里面找到.txt,把默认程序修改为notepad
5.桌面右键>新建,会发现之前的创建文本文档换成了notepad的图标,说明设置成功