代码之家  ›  专栏  ›  技术社区  ›  Nathan Koop

将项目添加到右键单击菜单

  •  1
  • Nathan Koop  · 技术社区  · 15 年前

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

    我不知道该怎么做,也不知道该怎么称呼。

    如果这个选项只有在我的程序运行时才可用,那就更好了。

    用例:

    用户可以选择网页上的一些文本(或Word文档或计算机上的任何内容),然后右键单击,从菜单中选择我的项目,然后运行我的子文档(字符串my string)。

    编辑:

    我目前正在开发XP,但我想让这个程序在Vista/Win7上工作

    4 回复  |  直到 15 年前
        1
  •  1
  •   Factor Mystic    15 年前

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

    但是,在资源管理器中将上下文菜单项添加到文件类型中是非常可能的,而不需要外壳扩展名,可以通过 registry manipulation 3rd party utilities 或者像其他人说的那样使用COM。

        2
  •  2
  •   bohdan_trotsenko    15 年前

    您需要使用(资源管理器)外壳扩展。 它们是用COM编程的。

    COM对于非托管编程是必不可少的。所以,如果你想了解Windows的工作原理,那就买本书来学习吧。在菜单中添加项目就是一个例子。

    你想要的可能有.NET包装,但我还不知道。

        3
  •  1
  •   Martin Blore    15 年前

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

    这里有一个实用的例子: http://www.jfitz.com/tips/rclick_custom.html

        4
  •  1
  •   Community T.Woody    7 年前

    他们叫 Shell Extensions .

    好吧,sorta-shell扩展不仅可以修改上下文菜单,还可以做很多事情,但是如果您想对菜单做一些非常重要的事情,那么您需要编写一个shell扩展。