代码之家  ›  专栏  ›  技术社区  ›  Adam

将类似于Windows Shell扩展名写入程序集缓存查看器

  •  3
  • Adam  · 技术社区  · 15 年前

    我想编写一个shell扩展来完全自定义特定文件夹的显示,即程序集缓存查看器(浏览到c:\windows\assembly,您将看到我的意思)。 哪些COM接口负责提供这些挂钩? 我的“观众”将用C…

    谢谢!

    2 回复  |  直到 15 年前
        1
  •  3
  •   dtb    15 年前

    这篇文章应该能让你上路:

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

        2
  •  7
  •   Wim Coenen    15 年前

    注意有 controversy about doing explorer extensions in .NET .

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

    这不仅仅是扩展不工作的问题;您将向中注入.NET运行时的特定版本 任何 使用文件对话框的应用程序。如果该应用程序是一个非托管应用程序,计划加载一个以.NET运行时的更新版本为目标的COM组件,这是个坏消息,等等。

    编辑 :如注释中所述,.NET 4.0运行时现已解决此问题。因此,托管资源管理器扩展应始终以.NET 4.0或更高版本为目标。