• 【创建Windows右键菜单折叠】


    创建Windows右键菜单折叠

    经常会发现windows里面右键菜单特别长,都占满屏幕了。就研究了下如何创建二级菜单进行折叠。效果如下
    在这里插入图片描述
    网上有使用[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"
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41

    如果需要在子项前后有分割线的话,新建键值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

  • 相关阅读:
    详解C#的序列化与反序列化
    回溯算法 | 组合 | leecode刷题笔记
    Tomcat部署
    茗香茶艺网/茶叶宣传网站
    更换有该包的软件源,如官方源,这个怎么更换
    ElementUI的Dialog弹窗实现拖拽移动功能
    由于.git/config导致的Git存储库泄露
    Git的下载与安装
    工作中常见的两种谬误
    SanctuaryAI推出Phoenix: 专为工作而设计的人形通用机器人
  • 原文地址:https://blog.csdn.net/galaxycraft/article/details/126808114