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