如何向Windows资源管理器上下文菜单添加子菜单项?

9

我可以通过在注册表中添加键到 HKEY_CLASSES_ROOT\Folder\shell 来在Windows资源管理器上下文菜单中创建一个菜单项。

如何为刚创建的菜单项创建子菜单项?


我可以推荐这个答案给SU论坛上的相关问题:https://superuser.com/a/1302200/543612。它包含了一个链接,这个链接帮助我解决了在上下文菜单中添加子菜单项的问题:https://blog.sverrirs.com/2014/05/creating-cascading-menu-items-in.html。 - undefined
2个回答

3

使用子命令 "SubCommands"="[菜单名称]"

创建.TS文件子菜单的示例:

[HKEY_CLASSES_ROOT\SystemFileAssociations\.ts\shell\Encoding]
"MUIVerb"="Encoding video"
"SubCommands"="Encodex265Fade;EncodeTS2;watched"
"icon"="imageres.dll,-149"
"Position"=-
"MultiSelectModel"="Single"
"NeverDefault"=""
;"ExtendedSubCommandsKey"="Encode\\Fadein"
;"Icon"="C:\\Program Files (x86)\\CloudMe\\CloudMe\\favicon.ico"

更多信息:https://msdn.microsoft.com/zh-cn/library/windows/desktop/hh127431(v=vs.85).aspx


1
这似乎相对简单,但是这些“SubCommands”到底是什么?我的意思是...我在哪里创建它们?我对“ExtendedSubCommandsKey”也有同样的问题,我不明白它指的是什么... - Frank Einstein
不确定这个答案是指哪个版本的Windows,但在Windows 10上,我不得不在顶级菜单项下添加一个空的SubCommands字符串。请参阅https://superuser.com/a/1302200/543612。 - undefined

3

我认为任何非平凡的事情都需要创建一个上下文菜单处理程序

您需要创建一个COM对象,该对象将创建菜单并在单击时执行命令。我只用C++和COM做过这个,不确定是否有更简单的方法。


在Windows 10中,可以使用注册表中的嵌套键在上下文菜单中创建菜单层次结构,包括:子菜单、分隔符、运行命令和图标。请参阅https://blog.sverrirs.com/2014/05/creating-cascading-menu-items-in.html。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接