C# 如何创建像winzip这样的外壳扩展名/文件容器dll?

C# 如何创建像winzip这样的外壳扩展名/文件容器dll?,c#,windows,filesystems,shell-extensions,winzip,C#,Windows,Filesystems,Shell Extensions,Winzip,好的,我需要制作一个类似于winzip或winrar的文件容器程序或名称空间扩展 现在我不需要对文件进行压缩、加密或任何类似的特殊处理 我需要的是创建一个dll,该dll使用扩展名,如.xyz(我知道如何将所有这些注册到注册表中,这样就不会有问题),当单击时,将像winzip一样在窗口中打开“容器”中的所有文件 我现在拥有的是一个程序,可以将我需要的所有文件添加到一个扩展名为.xyz的大文件中。但我不知道该怎么做,当我点击或打开这个新文件时,他们会在窗口中打开(文件系统broswer?或类似wi

好的,我需要制作一个类似于winzip或winrar的文件容器程序或名称空间扩展

现在我不需要对文件进行压缩、加密或任何类似的特殊处理

我需要的是创建一个dll,该dll使用扩展名,如.xyz(我知道如何将所有这些注册到注册表中,这样就不会有问题),当单击时,将像winzip一样在窗口中打开“容器”中的所有文件

我现在拥有的是一个程序,可以将我需要的所有文件添加到一个扩展名为.xyz的大文件中。但我不知道该怎么做,当我点击或打开这个新文件时,他们会在窗口中打开(文件系统broswer?或类似winzip的东西),这样我就可以查看这个“容器”中的所有文件

有人能给我指出正确的方向吗?或者怎么做,现在我被难住了

我还应该提到我在c#net工作

你想要的,但是在C++中;
在C Sharp中执行shell Ext是痛苦的。

因此,您并不想在自定义窗口中打开自定义文件,而是想让普通的windows文件资源管理器了解您的文件是什么,这样您就可以像普通zip文件一样浏览它,对吗?我相信是这样。我想要的是将它们“打包”,然后像zip文件一样在窗口中打开它们。但是,其中的文件被“包装”在我的自定义数据中。因此,在将文件拖入和拖出此窗口时,它们需要在此数据中进行包装/展开。例如,当您将文件拖入或拖出zip文件夹时,它会被压缩/解压。是否希望它们显示在您创建的自定义窗口中?或者希望它们显示在标准资源管理器窗口中?标准窗口也可以:)在自定义窗口中显示它们很容易,只需编写一个独立的应用程序并将其注册为处理程序。在标准资源管理器窗口中显示它们是非常困难的,因为这需要您编写一个shell名称空间扩展,而这不能从C#中完成。