C# 在.NET中创建属性处理程序

C# 在.NET中创建属性处理程序,c#,.net,vb.net,C#,.net,Vb.net,我想在.NET中创建一个属性处理程序。我已经实现了IInitializeWithFile、IPropertyStore和IPropertyStoreCapabilities类,但我不知道如何实现它们创建自定义属性和显示数据的功能。有人能解释一下吗 我已经知道这一点:所以请不要讨论这一点。备注:如果您运行的系统没有.NET 4,那么Microsoft建议不要使用.NET,因为旧版本的固有限制是一个进程不能同时运行多个framework版本。根据操作系统等情况,建议使用C/C++实现此功能。请注意,

我想在.NET中创建一个属性处理程序。我已经实现了
IInitializeWithFile
IPropertyStore
IPropertyStoreCapabilities
类,但我不知道如何实现它们创建自定义属性和显示数据的功能。有人能解释一下吗

我已经知道这一点:所以请不要讨论这一点。

备注:如果您运行的系统没有.NET 4,那么Microsoft建议不要使用.NET,因为旧版本的固有限制是一个进程不能同时运行多个framework版本。根据操作系统等情况,建议使用C/C++实现此功能。请注意,即使使用.NET 4,MS也表示不支持基于.NET的shell扩展为了避免这种情况您应该实现一个本机代理DLL,该DLL将加载到相应的进程(如Windows资源管理器)中,并通过IPC与.NET实现通信

撇开shell扩展/属性处理程序的实现不谈,这是一项非常艰巨的工作。。。与信息/示例/源代码/库等的一些链接:

  • (MS强烈建议不要使用
    IInitializeWithFile
    !)
  • 接口
  • (示例代码)
  • (商业)

@Programmer查看我的更新答案-对于属性处理程序,您基本上需要一些东西,包括shell命名空间扩展、IPropertyUI接口等。以防有人仍然不知道,但即使是4.0或更高版本,也无法使用.net。Raymond Chem更新了他的帖子,该专栏链接到:“更新2013:4版的.NET Framework支持进程内并行运行时,现在可以用托管代码编写shell扩展了吗?答案仍然是否定的。”。也可以从他那里看到这篇文章:。