faketemp
V2EX  ›  Windows

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

  •  
  •   faketemp · Dec 22, 2023 · 1542 views
    This topic created in 899 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    ContextMenuManager

    🖱️ 一个纯粹的 Windows 右键菜单管理程序
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   932 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 20:19 · PVG 04:19 · LAX 13:19 · JFK 16:19
    ♥ Do have faith in what you're doing.