【问题标题】:Add a separator in the Windows Explorer context menu (not in a submenu)在 Windows 资源管理器上下文菜单中添加分隔符(不在子菜单中)
【发布时间】:2016-10-01 11:59:13
【问题描述】:

我发现 "CommandFlags"=dword:00000040 将在条目下方添加一个分隔符,但仅添加到子菜单中(在 "subcommands"="" 字符串下)。示例here

有没有办法在主上下文菜单中添加分隔符?

我正在使用的示例:

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Delete With Rimraf]
@="Delete With Rimraf"
"CommandFlags"=dword:00000040

这没有分隔符。

【问题讨论】:

    标签: windows registry contextmenu


    【解决方案1】:

    此示例在项目前后有一个分隔符,此条目用于 VirusTotal Uploader

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\vtuploader]
    @="Send to VirusTotal"
    "Icon"="C:\\Program Files\\VirusTotalUploader2\\VirusTotalUploader2.2.exe,0"
    "SeparatorBefore"=""
    "SeparatorAfter"=""
    

    对于通过 shellex 加载的其他应用程序,无法在注册表中添加分隔符,注入的 dll 添加/删除分隔符本身,您需要更改 dll 代码并重新编译它以实现您想要的这里是 notepad++ 的示例 https://github.com/notepad-plus-plus/notepad-plus-plus/pull/3092/commits

    InsertMenu(hMenu, nIndex, MF_STRING | MF_BYPOSITION, idCmd++, m_szMenuTitle);
    

    【讨论】:

      【解决方案2】:

      您好,我是您引用的博客文章的作者 (https://blog.sverrirs.com/2014/05/creating-cascading-menu-items-in.html)

      您操作主上下文菜单的选项非常有限。 MSDN documentation 表示您可能只能将 ECF_SEPARATORBEFORE (0x20) 值用于顶级项目。

      【讨论】:

        猜你喜欢
        • 2015-07-11
        • 1970-01-01
        • 2023-03-27
        • 1970-01-01
        • 1970-01-01
        • 2020-12-26
        • 1970-01-01
        • 2012-07-03
        • 1970-01-01
        相关资源
        最近更新 更多