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

我想编写一个shell扩展来完全自定义特定文件夹的显示,例如Assembly Cache Viewer(浏览到c:\ windows \ assembly,你会明白我的意思)。 哪些COM接口负责提供这些钩子? 我的“观众”将用C#编写……

谢谢!

这篇文章可以帮助您:

  • 使用.NET Framework为Windows资源管理器创建命名空间扩展

使用命名空间扩展扩展Windows shell允许您为Windows资源管理器创建一些自定义function。 一个常见的用途是使资源管理器能够显示一个真实文件夹中不存在的项目列表 ,但实际上存在于多个位置。 文件夹上的视图使这些项看起来像在一个地方,因此管理它们变得更容易。 本文说明了使用C#和.NET Framework创建自定义shell命名空间扩展的过程。 […]

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

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

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

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