在C#应用程序中使用第三方上下文菜单(对于Windows资源管理器)?

时间:2013-04-11 23:24:14

标签: c# c++ tortoisesvn contextmenu windows-shell

与希望将项目添加到Windows资源管理器的其他人不同,我想在我的应用程序中显示上下文菜单。现在您可能在想,您正在寻找的课程是ContextMenu。让我告诉你我有兴趣做什么。 请原谅小图片......

以下是我目前的情况:

My current context menu

这就是我希望的:

What I'd like it to look like

让我们把假设排除在外。我已经检测到用户安装了TortoiseSVN并且他们选择的项目受源代码管理。

到目前为止我的研究:

Retrieving context menus - 这非常有用。这是Windows资源管理器的c#库(可以检索特定文件夹/文件的上下文菜单)。但是,即使在测试示例时,它也不会检索TortoiseSVN选项。

Another context menu retrieval - 几乎与上一个链接相同(再次使用C#代码)。获取Windows资源管理器上下文菜单减去TortoiseSVN选项。

Process to add context menu - 我刚刚开始阅读这些深入的帖子。答案可能在本文中,但我需要一些时间来完成它。如果我对这些运气有任何好运,我会回复一个答案。

User appears to be able to accomplish this - 这似乎是一个处理SVN开发的电子邮件组。为什么要在这里发布?也许是为了证明这可以做到。引用:“我正在使用TSVN shell上下文菜单。我正在使用IContextMenu.QueryContextMenu(C ++代码)方法访问TSVN shell上下文菜单,然后我将通过返回的菜单进行浏览。”

总而言之,这似乎应该是一件相当直接的事情,我只是错过了一步。欢迎任何和所有建议。谢谢!

编辑:尝试更好地使用标签和更专注的标题

2 个答案:

答案 0 :(得分:0)

希望以下内容可以帮助您入门

答案 1 :(得分:0)

最终我自己重新实现了ContextMenu,而不是尝试从Windows资源管理器中提取。添加对TortoiseSVN的直接调用(如前所述)。不是我想要的超级优雅的解决方案,但它当然有效!

我会注意到用户oefe指出主要问题可能是由于x86 vs x64(TortoiseSVN在我的开发机器上安装为x64)。如果他们试图完成类似的任务,其他用户可能想要查看。