2010-11-20 108 views
4

我制作了一个扩展名为.mpq的档案类型的浏览器程序,它在暴雪游戏中非常有用。
它就像一个资源管理器,但只探索MPQ档案中的文件。
现在,我们都知道Windows资源管理器如何浏览.zip压缩文件,并且很想让它打开带有如此多丰富功能的.MPQ文件。.NET Windows资源管理器扩展名用于浏览类似.zip的文件?

这甚至可能吗?所以有可能...
如果是这样,那么怎么样?外壳文件夹...

有人可以请我指出一个例子吗? (C#)我不能只是将C++翻译成C#...

回答

5

这是通过扩展shell类来完成的。您需要执行Basic Folder Object Interfaces来完成此操作。

+0

谢谢!我会马上看看链接!编辑:这个例子是在C++中,我不是很熟练。你可以给我或指向我的例子或COM接口库吗? – Vercas 2010-11-20 20:07:36

+0

@Vercas:不,不幸的是,这是一组相当先进的需要实施的COM接口。我只看到它在C++中完成,因为在.NET 4之前,使用.NET是一个非常糟糕的主意(因为它是一个进程内shell扩展)。 – 2010-11-20 22:37:26

+0

然后我无法使用它...... – Vercas 2010-11-21 09:14:04

2

虽然它是一个C++框架,但有一个框架可以实现你想要的,而且我已经适应了类似文件格式的成功: TarFolder(由开发GMail Drive的人)。

即使您不支持基于扩展的生根(解决方法是使用具有特定协议的URL),您也可能对EZNamespaceExtension.Net感兴趣。

最后,检查出WindowsShell:它可能正是你要找的!

对不起,风暴过后这么晚...

+0

OH MY GAWD。感谢程序!我完全需要这样的东西!我将尝试剖析源代码,并使用我的C#库而不是它自己的TAR函数! – Vercas 2011-04-28 11:30:34

+0

@Vercas这应该工作:)。不过,我认为你必须使用.Net 4.0,因为这是唯一允许在同一进程中同时使用其他版本的框架版本(除非你完全确定你的DLL是唯一可管理的版本)。 – 2011-04-28 13:00:03

+0

@Vercas然而,确保你的函数(特别是列出和描述文件的函数)非常快,因为它们往往会被频繁地调用。只要你有一个可用的C#版本,就用C++重写它们。 – 2011-04-28 13:03:09

相关问题