使用.NET的Windows Shell集成

使用.NET和C#在探索者右键菜单中注册程序的最简单/最好的方法是什么?
即我想能够右键单击在Windows资源pipe理器中的项目,并获得“编辑与MyProgram”

这是我能find的教程中最接近的东西,但是它大部分只是从.NET中进入Win32,而且也是过时的。 现在应该怎么做?

如果你只是想添加菜单项,那么一个外壳扩展是矫枉过正的。 您可以在注册表中注册一个命令行,该命令行将以选定的文件作为参数运行您的exe文件。 如果您想要更改资源管理器的行为,添加自定义图标或基于shell的文件操作,则只需要Shell扩展。

http://www.codeproject.com/KB/shell/SimpleContextMenu.aspx

如果一个shell扩展是你需要的,你最好在非托管代码中编写一个简单的包装器,通过某种跨进程通信通道调用另一个.NET应用程序的进程。 由于所有潜在的版本问题,建议不要将.NET运行时加载到资源管理器进程中。