在OpenFileDiaolg中打开存档文件内容C#

时间:2010-05-30 14:14:10

标签: c# user-interface jar zip openfiledialog

我想要一个带****的打开文件对话框.class ***,****。jar *** filters。 我希望* .jar文件将被视为文件夹(按OK或双击应显示jar文件内容[* .class])。此功能与TotalCommander归档插件非常相似,可以让您在原地浏览归档文件(无需提取等等)。

有什么想法可以做到吗?我可以使用已经实现的东西吗?

谢谢, 盖

2 个答案:

答案 0 :(得分:2)

要使用标准的Windows资源管理器和常用对话框执行此操作,您需要编写或查找适当的Shell命名空间扩展。

shell命名空间扩展是一个COM对象,允许您在资源管理器shell中显示虚拟文件夹。因此,在您的情况下,shell扩展将允许用户导航jar文件结构,就像它在您的机器上的文件夹所在。

您可以使用托管代码编写shell扩展,但至少对于4.0之前的框架版本,MS不支持这种扩展,因为在将多个版本的框架加载到进程中时存在冲突的可能性问题。现在4.0支持框架版本的并排加载,可能这是支持的。

这是一篇关于写一个shell命名空间扩展的文章的链接 http://msdn.microsoft.com/en-us/magazine/cc188741.aspx

我从未尝试过这个,但这里有一个扩展,支持将7-zip支持的文件作为文件夹进行管理。如果您需要自己这样做,这可能会帮助您至少开始 http://7zipshell.codeplex.com/

答案 1 :(得分:0)

这是一篇描述在C#中打开Jars的文章:

http://www.codeproject.com/KB/files/opening_jars_cs.aspx

如果你把它与克里斯的答案结合起来写关于编写扩展名,或者如果这更容易就编写自己的对话框,那么你应该能够做你想做的事。