如何修改注册表增加右键菜单项?

328 天前
 faketemp

Win 下修改注册表可以在特定文件格式点选右键时增加自定义菜单项,如想在.heic 文件右键菜单中增加菜单项"Hello",可修改添加HKEY_CLASSES_ROOT\SystemFileAssociations\.heic\Shell\Hello项来实现

问题:如果单/多选纯.heic 格式文件时右键可显示"Hello"菜单项,但如果多选文件含非.heic 格式文件则右键菜单不显示"Hello"菜单项,如果想要多选文件含任意.heic 文件右键都能显示出"Hello"菜单项,应如何修改注册表?
问了 GG 和 GPT 回答不知所云...

987 次点击
所在节点    Windows
5 条回复
ysc3839
328 天前
HKEY_CLASSES_ROOT\AllFileSystemObjects ?
猜测没法排除非 heic 格式
faketemp
328 天前
装了 www.copytrans.net/copytransheic/来支持 heic 图片预览等,发现该程序实现了想要的效果——多选文件只要含任意 heic 格式文件右键都可以显示出"Convert to JPEG whth CopyTrans",很好奇实现方式搜索注册表项在相同位置写上自定义菜单项,却发现它的菜单可显示但自己定义的菜单显示不出/(ㄒoㄒ)/~~
@ysc3839
geelaw
328 天前
可能是 IContextMenu 系列接口
geelaw
328 天前
@geelaw #3 哦,不必这么麻烦了……可以用 IExplorerCommand 接口,用 GetState 可以决定是否显示。

如果你不需要“在没有 .heic 时不显示”这个效果,那么可以用 IDropTarget 。

这两种方法都要求写代码,而不仅仅是修改注册表。
allplay
328 天前
https://github.com/BluePointLilac/ContextMenuManager/blob/master/README.md

ContextMenuManager

🖱️ 一个纯粹的 Windows 右键菜单管理程序

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1002530

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX