V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
faketemp
V2EX  ›  Windows

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

  •  
  •   faketemp · 356 天前 · 1004 次点击
    这是一个创建于 356 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    ContextMenuManager

    🖱️ 一个纯粹的 Windows 右键菜单管理程序
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4777 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:29 · PVG 17:29 · LAX 01:29 · JFK 04:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.