Windows 自定义多级右键菜单

Windows 自定义多级右键菜单

如果在百度上搜索"Windows 自定义多级右键菜单",会出现许多大同小异,甚至近乎一模一样的文章,它们告诉你:在一级菜单中添加一个SubCommands
并且加上一系列的二级菜单的名字,使用分号隔开,如menu1;menu2;menu3。然后在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\
这个路径下添加与在SubCommands中定义的菜单名相同的键,就是像一级菜单那样分别创建menu1,menu2和menu3。如下图:

但是如果做过尝试的同学,会知道,这样实际上就没用,多级菜单根本无法弹出。

真正的多级右键菜单做法如下所示

  1. 为你的一级菜单添加SubCommands键值项,无需要输入任何内容,名字叫SubCommands即可,如下图

PS:注意!任何拥有下级菜单(如一级菜单叫二级菜单下级菜单)的键的Default项不能赋予任何值,保持空即可,否则无法看到下级菜单!!
如果需要改变此级菜单的显示字符串,则添加键值项MUIVerb来进行修改!!!

  1. 在你的一级菜单下创建一个叫shell的键,如下图

  2. 就像创建一级菜单一样,将二级菜单作为shell的子键插入到shell键下,如下图

上述操作做完之后,我们随便右键点击一份文件,发现二级菜单已经做出来了!如下图

同理可得,三级菜单只需要在二级菜单上添加SubCommands键值项,然后再插入子键shell,即可完成。
反复这个过程,我们可以得到更多的层次的菜单,但是应该是有一个上限值的,博主并不无聊,所以并没有去尝试,如果有兴趣的同学可以去尝试一下。

说到最后,一定要注意上面粗字部分的提醒,如果Default设置了内容,就看不到下级菜单了,所以一定要注意!!!

posted @   猛如泰山  阅读(939)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示