我想编写一个Shell扩展程序,完全定制特定文件夹的显示方式,就像程序集缓存查看器一样(浏览到c:\ windows \ assembly,您将知道我的意思)。 哪些COM接口负责提供这些钩子? 我的“查看器”将用C#编写...谢谢!
请注意,在.NET中进行资源管理器扩展存在争议。示例问题:如果您的目标是.NET 2.0,则您的扩展将无法在任何由.NET 1.1应用程序显示的“打开文件”对话框中工作。一个进程只能加载一个版本的.NET运行时。这不仅仅是您的扩展无法工作的问题;您将向任何使用文件对话框的应用程序注入特定版本的.NET运行时。如果该应用程序是计划加载针对较新版本的.NET运行时的COM组件的非托管应用程序等,则这是个坏消息。 编辑:如评论所述,这现在已由.NET 4.0运行时解决。因此,托管的资源管理器扩展应始终针对.NET 4.0或更高版本。
这是一篇有助于您了解的文章: 使用.NET框架为Windows Explorer创建命名空间扩展 通过使用命名空间扩展,可以扩展Windows shell以为其创建一些自定义功能。其中一个常见用途是启用Explorer呈现不在一个真实文件夹中但实际上驻留在多个位置的项列表。文件夹的视图使得这些项看起来在一个位置,所以管理它们变得更加容易。本文说明了使用C#和.NET Framework创建自定义shell命名空间扩展的过程。[...]