C# 使用.NET实现Windows外壳程序集成
使用.NET和C#在Explorer右键单击菜单中注册程序最简单/最好的方法是什么?C# 使用.NET实现Windows外壳程序集成,c#,.net,windows,C#,.net,Windows,使用.NET和C#在Explorer右键单击菜单中注册程序最简单/最好的方法是什么? i、 e.我希望能够在windows资源管理器中右键单击某个项目,并获得“使用MyProgram编辑”的功能 但它大多只是从.NET进入Win32,而且已经过时了。现在应该怎么做呢?如果您只想添加菜单项,那么shell扩展就太过分了。您可以在注册表中注册命令行,该命令行将以所选文件作为参数运行exe。仅当您想要更改资源管理器的行为、添加自定义图标或钩住基于Shell的文件操作时,才需要Shell扩展 如果您需
i、 e.我希望能够在windows资源管理器中右键单击某个项目,并获得“使用MyProgram编辑”的功能
但它大多只是从.NET进入Win32,而且已经过时了。现在应该怎么做呢?如果您只想添加菜单项,那么shell扩展就太过分了。您可以在注册表中注册命令行,该命令行将以所选文件作为参数运行exe。仅当您想要更改资源管理器的行为、添加自定义图标或钩住基于Shell的文件操作时,才需要Shell扩展
如果您需要一个shell扩展,那么最好在非托管代码中编写一个瘦包装器,通过某种跨进程通信通道调用另一个进程,即您的.NET应用程序。由于所有潜在的版本控制问题,不建议将.NET运行时加载到explorer进程中。Jesse Kaplan解释了为什么它如此糟糕: