0

我想添加一个上下文菜单选项以更深入地集成我的一个程序。但是,我讨厌这个频繁使用的菜单中有 20 多个项目 - 所以我不会让我的最终用户也忍受这种情况。

我知道上下文菜单可以按文件类型自定义,但 Tortoisegit 能够自定义通用文件夹。

Tortoisegit 能够检测何时在由 Tortoisegit 控制的文件夹中打开上下文菜单并显示带有其他项目的不同菜单。

这是怎么做到的?这是由 Tortoisegit 在后台以某种方式运行的,还是上下文菜单的注册表设置,或其他什么?

4

1 回答 1

1

它是通过注册表设置完成的。运行 regedit.exe 并导航到HKCR\Folder\shellex\ContextMenuHandlers. 您将在该列表中找到 Tortoise 的 CLSID。HKCR\*注册表项同样特殊,它适用于任何文件。

强烈建议不要在 C# 中编写 shell 扩展,将 CLR 注入进程失败是无法诊断的。

于 2013-11-04T15:19:27.567 回答