【创建Windows右键菜单折叠】

创建Windows右键菜单折叠

  • 创建Windows右键菜单折叠
    • 具体是使用了Windows注册表的SubCommands指令
    • 参考

创建Windows右键菜单折叠

经常会发现windows里面右键菜单特别长,都占满屏幕了。就研究了下如何创建二级菜单进行折叠。效果如下
【创建Windows右键菜单折叠】_第1张图片
网上有使用[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\注册表项存储键值的,但是距离比较远,且配置繁琐,不如直接创建。

具体是使用了Windows注册表的SubCommands指令

  • 需在[HKEY_CLASSES_ROOT\*\shell\注册表项下新建注册表项xxx,并新建键值为SubCommands,值为空
  • 新建Shell
  • Shell下新建需要调用的菜单项,submenu1/submenu2/submenu3……,对应的再创建command项,修改默认值为需要执行的命令
  • 子菜单条目根据其注册表项的名称进行排序。可以在名称前添加0X类似字符以强制执行特定顺序。
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Editor-SubCMDs-A]
"MUIVerb"="--文件编辑-A"
"icon"="X:\\SecurityTools\\@HexEdit\\sublime_text_4121_x64\\sublime_text4.exe"
"SubCommands"=""
"CommandFlags"=dword:00000020

[HKEY_CLASSES_ROOT\*\shell\Editor-SubCMDs-Atw\Shell]

[HKEY_CLASSES_ROOT\*\shell\Editor-SubCMDs-Atw\Shell\010Editor]
"Icon"="\"X:\\SecurityTools\\@HexEdit\\@010Editor\\010Editor12\\010Editor.exe\""

[HKEY_CLASSES_ROOT\*\shell\Editor-SubCMDs-Atw\Shell\010Editor\command]
@="\"X:\\SecurityTools\\@HexEdit\\@010Editor\\010Editor12\\010Editor.exe\" %1"

[HKEY_CLASSES_ROOT\*\shell\Editor-SubCMDs-Atw\Shell\Emeditor]
"Icon"="\"X:\\SecurityTools\\@HexEdit\\emed64_portable\\EmEditor.exe\""

[HKEY_CLASSES_ROOT\*\shell\Editor-SubCMDs-Atw\Shell\Emeditor\command]
@="\"X:\\SecurityTools\\@HexEdit\\emed64_portable\\EmEditor.exe\" %1"

[HKEY_CLASSES_ROOT\*\shell\Editor-SubCMDs-Atw\Shell\HxD]
"Icon"="\"X:\\SecurityTools\\@HexEdit\\@HxD\\HxDPortable2.5.0\\HxD64.exe\""

[HKEY_CLASSES_ROOT\*\shell\Editor-SubCMDs-Atw\Shell\HxD\command]
@="\"X:\\SecurityTools\\@HexEdit\\@HxD\\HxDPortable2.5.0\\HxD64.exe\" %1"

[HKEY_CLASSES_ROOT\*\shell\Editor-SubCMDs-Atw\Shell\SubLime_Text4]
"Icon"="\"X:\\SecurityTools\\@HexEdit\\sublime_text_4121_x64\\sublime_text4.exe\""
"CommandFlags"=dword:00000040

[HKEY_CLASSES_ROOT\*\shell\Editor-SubCMDs-Atw\Shell\SubLime_Text4\command]
@="\"X:\\SecurityTools\\@HexEdit\\sublime_text_4121_x64\\sublime_text4.exe\" %1"

[HKEY_CLASSES_ROOT\*\shell\Editor-SubCMDs-Atw\Shell\WinHex]
"Icon"="\"X:\\SecurityTools\\@HexEdit\\@WinHex\\WinHex19.7\\WinHex.exe\""

[HKEY_CLASSES_ROOT\*\shell\Editor-SubCMDs-Atw\Shell\WinHex\command]
@="\"X:\\SecurityTools\\@HexEdit\\@WinHex\\WinHex19.7\\WinHex.exe\" %1"

如果需要在子项前后有分割线的话,新建键值CommandFlags,Dword值,在级联菜单项之前或之后添加分隔符,分别对应值为0x20 或 0x40。

如果您希望它显示在上下文菜单的底部,请将" Position"="Bottom"添加到条目。

参考

http://io-repo.blogspot.com/2011/05/cascading-context-menus-via-static.html
https://blog.csdn.net/culingluan4376/article/details/108708536
https://docs.microsoft.com/zh-cn/windows/win32/shell/how-to-create-cascading-menus-with-the-extendedsubcommandskey-registry-entry

你可能感兴趣的:(二级菜单,折叠菜单,右键菜单,级联菜单)