将项目添加到右键菜单

时间:2009-09-04 22:35:17

标签: .net winforms

我想在右键菜单中添加一个项目(如TortoiseSVN,或7zip等...)

我不确定如何做到这一点或具体称为什么。

如果此选项仅在我的程序运行时可用,那将更为可取。

使用案例

用户可以选择网页上的某些文字(或word文档或其计算机上的任何内容)并右键单击,从菜单中选择我的项目,然后运行子DoSomething(字符串myString)。

编辑:

我目前正在开发XP,但我希望这个程序可以在Vista / Win7上运行

4 个答案:

答案 0 :(得分:2)

您需要使用(Explorer)Shell Extensions。 它们用COM编程。

COM对于非托管编程至关重要。因此,如果您想了解有关Windows如何工作的大量信息,请获取一本书并学习它。将项目添加到菜单就是一个例子。

你可能会有.Net包装器,但我还没有意识到它们。

答案 1 :(得分:1)

我相信这可以通过添加/删除系统注册表中的条目来实现。

可在此处找到一个实际示例:http://www.jfitz.com/tips/rclick_custom.html

答案 2 :(得分:1)

他们被称为Shell Extensions

好吧,sorta - shell扩展可以做很多事情,而不仅仅是修改上下文菜单,但是如果你想对菜单做任何不重要的事情,那么你就要写一个shell扩展。

答案 3 :(得分:1)

这取决于您希望上下文菜单项的位置以及总体目的。到目前为止,大多数答案都是针对资源管理器中的上下文菜单,但如果您想在问题中更改程序内部的上下文菜单,则会变得更加困难和/或不可能。

但是,很有可能将上下文菜单项添加到没有shell扩展的资源管理器中的文件类型,可以registry manipulation3rd party utilities,或者像其他人所说的那样使用COM。