编写类似于程序集缓存查看器的Windows Shell扩展

Ada*_*dam 3 c# shell-extensions

我想编写一个shell扩展来完全自定义特定文件夹的显示,如组装缓存查看器(浏览到c:\ windows\assembly,你会明白我的意思).哪些COM接口负责提供这些钩子?我的"观众"将用C#编写......

谢谢!

Wim*_*nen 7

请注意,在.NET中进行资源管理器扩展存在争议.

示例问题:如果您的目标是.NET 2.0,那么您的扩展将无法在.NET 1.1应用程序显示的任何"打开文件"对话框中工作.进程只能加载一个版本的.NET运行时.

这不只是你的扩展不工作的问题; 您将在使用文件对话框的任何应用程序中注入特定版本的.NET运行时.如果应用程序是一个非托管应用程序,计划加载一个针对较新版本的.NET运行时的COM组件,那么这是个坏消息.

编辑:正如评论中所解释的,这已经由.NET 4.0运行时解决了.因此,托管资源管理器扩展应始终以.NET 4.0或更高版本为目标.

  • 最新的.Net 4.0运行时支持使用早期的.Net运行时并行加载.Net 4.0运行时(以及所有未来的运行时).请参阅以下摘录自http://msdn.microsoft.com/en-us/magazine/ee819091.aspx"由于能够在任何其他运行时使用多个运行时,我们现在可以为编写托管shell扩展提供一般支持 - 甚至那些在机器上运行任意应用程序的进程." (3认同)