Windows注册表增加右键多级菜单
前言全局说明
一、说明
环境:
Windows 11 家庭版 23H2 22631.3737
Windows 7 旗舰版
二、注册表说明
2.1 项说明
HKEY_CLASSES_ROOT*:系统所有文件,右键系统任一文件都会添加右键菜单
HKEY_CLASSES_ROOT\.txt:在.txt文件,添加右键菜单
HKEY_CLASSES_ROOT\AllFilesystemObjects:系统所有文件和文件夹,右键任一文件或者文件夹都会添加右键菜单
HKEY_CLASSES_ROOT\Folder:所有文件夹,添加右键菜单
HKEY_CLASSES_ROOT\Directory:所有文件夹,添加右键菜单
HKEY_CLASSES_ROOT\Directory\Background:所有文件夹空白处,添加右键菜单
2.2 键名说明
SubCommands: 创建多级(层叠)菜单,当前项下有子菜单。没有子项这个属性可以不加。(可选)
icon :右键菜单图标(可用指定 .ico 或 .exe 文件)(可选)
MUIVerb:指定右键菜单显示名字,不加默认为项名(可选)
Position: 指定菜单标题位置,值:Top, Middle(默认), Bottom 三种(可选)
Position 效果:
三、创建,一级菜单
3.1 新建 一级菜单 项(注册表文件夹)
"一级菜单" 这个名字你随意
3.2 新建 command 执行的命令
必须用 command 这个名字
3.3 效果
四、创建 Win7 多级菜单
4.1 win7_多级菜单
文件名:win7_多级菜单.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\1级菜单]
"SubCommands"=""
@=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\1级菜单\shell]
@=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\1级菜单\shell\2级]
"SubCommands"=""
@=""
"MUIVerb"="2级菜单"
[HKEY_CLASSES_ROOT\Directory\Background\shell\1级菜单\shell\2级\shell]
[HKEY_CLASSES_ROOT\Directory\Background\shell\1级菜单\shell\2级\shell\3级]
@=""
"MUIVerb"="3级菜单"
"SubCommands"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\1级菜单\shell\2级\shell\3级\shell]
[HKEY_CLASSES_ROOT\Directory\Background\shell\1级菜单\shell\2级\shell\3级\shell\4级]
@=""
"MUIVerb"="4级菜单"
"SubCommands"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\1级菜单\shell\2级\shell\3级\shell\4级\shell]
@=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\1级菜单\shell\2级\shell\3级\shell\4级\shell\5级]
"SubCommands"=""
"MUIVerb"="5级菜单"
[HKEY_CLASSES_ROOT\Directory\Background\shell\1级菜单\shell\2级\shell\3级\shell\4级\shell\5级\shell]
@=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\1级菜单\shell\2级\shell\3级\shell\4级\shell\5级\shell\打开cmd]
@=""
"MUIVerb"="打开cmd.exe"
[HKEY_CLASSES_ROOT\Directory\Background\shell\1级菜单\shell\2级\shell\3级\shell\4级\shell\5级\shell\打开cmd\command]
@="cmd.exe"
[HKEY_CLASSES_ROOT\Directory\Background\shell\1级菜单\shell\2级\shell\3级\shell\4级2]
"MUIVerb"="4级菜单第2个"
"SubCommands"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\1级菜单\shell\2级\shell\3级\shell\4级2\shell]
@=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\1级菜单\shell\2级\shell\3级\shell\4级2\shell\打开CMD]
"MUIVerb"="打开CMd"
[HKEY_CLASSES_ROOT\Directory\Background\shell\1级菜单\shell\2级\shell\3级\shell\4级2\shell\打开CMD\command]
@="cmd.exe"
在Win7下,要注意的点:
1.每一级都需要用 MUIVerb 指定显示名称
2.如果项里增加了 SubCommands 就不要再项的默认值里修改。如果在第3级增加默认显示名,那么后面第4级和以后的就不会显示了
4.2 右键效果:
4.3 注册表,效果:
五、创建 Win11 多级菜单
5.1 Win11_多级菜单
文件名:Win11_多级菜单.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\1]
"SubCommands"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell]
[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2]
"SubCommands"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell]
[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3]
"SubCommands"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell]
[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4]
"SubCommands"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell]
[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell\5]
"SubCommands"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell\5\shell]
[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell\5\shell\6]
"SubCommands"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell\5\shell\6\shell]
[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell\5\shell\6\shell\7]
"SubCommands"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell\5\shell\6\shell\7\shell]
[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell\5\shell\6\shell\7\shell\打开cmd]
[HKEY_CLASSES_ROOT\Directory\Background\shell\1\shell\2\shell\3\shell\4\shell\5\shell\6\shell\7\shell\打开cmd\command]
@="cmd.exe"
5.2右键效果:
5.3 注册表,效果:
六、Win7 和 Win11 多级菜单,区别、注意点
1.如果 MUIVerb 和 默认值 都有内容,优先显示 MUIVerb 值内容
6.1 Win7 菜单 有 SubCommands 键时,不要填写默认,要留空(win11 无此限制)
如果同时修改,将不显示子菜单
6.2. Win7 多级菜单需要用 MUIVerb 指定显示名称(win11 无此限制)
2级菜单
3级菜单
最后一级命令时,可以指定默认值显示名称
6.3 最多可以多少层菜单
最多是多少层没有试过,一般三、四层级就够用了,示例中最多设置七层还是正常的。
按照微软习惯,文件名至多255字符,
猜测,层级也应该差不多是 128 或255 层。
更详细的可以参考,
微软官方,注册表说明:
https://learn.microsoft.com/zh-cn/windows/win32/sysinfo/registry-value-types
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
参考、来源:
https://www.cnblogs.com/mq0036/p/8398594.html
https://www.cnblogs.com/getValue/p/14381631.htm
https://cn.bing.com/search?q=BAT002%3A在右键菜单新建中添加【Windows批处理文件】&PC=U316&ntref=1&FPIG=878B96B15DD544C28E03E2BBB5417D02&first=30&FORM=PORE