为Windows资源pipe理器编写上下文菜单项的指针

这是一个通用的问题。 任何使用C#编写Windows资源pipe理器上下文菜单项的指针?

感谢和问候,斯里兰卡

如果您试图实现一些简单的事情,比如添加一个带有启动.NET应用程序的图标的项目,您可以试试这个:

看看Windows注册表。 在HKEY_CLASSES_ROOT你会找到所有的文件扩展名。 如果您选择其中一个键,您将看到扩展名的标准名称。 搜索具有该名称的HKEY_CLASSES_ROOT下的节点,您将看到以下关键结构:

 CLSID DefaultIcon Shell Edit Command Open Command ShellEx 

Shell下的每个节点都指向一个上下文菜单项。 这些节点的默认值(如“编辑”或“打开”)是菜单中显示的文本。 Command的默认值告诉您要启动哪个应用程序。 例如: notepad.exe %1 (其中%1是文件url的占位符)。 DefaultIcon的默认值是图标的URL(如果有的话)。

看看这篇文章的例子: 添加一个上下文菜单到Windows资源管理器

使用C#编写Windows资源管理器的上下文菜单项

不要这样做。 真。 Raymond Chen对你为什么不应该有很好的评论。

现在这篇文章很老了 有些事情从那以后就改变了,比如.NET 4.0支持SxS。 以前,将两个CLR版本加载到相同的进程(如2.0和1.1)将会非常糟糕。 您可以将 2.0和4.0加载到相同的进程中。

但是还有其他的担忧。

  1. CLR可能需要大量的时间来加载。 用户不喜欢那样。
  2. 将整个CLR加载到资源管理器的虚拟内存中,只是为了显示一个上下文菜单,似乎有点多。

相反,我会建议把它写成旧的方式,不加管理的方式。