【问题标题】:.NET Windows Explorer extension to browse a file like .zip?.NET Windows Explorer 扩展来浏览像 .zip 这样的文件?
【发布时间】:2011-05-13 04:36:13
【问题描述】:

我为带有 .mpq 扩展名的存档类型制作了一个浏览器程序,该文件在暴雪游戏中被广泛使用。
它就像一个浏览器,但只浏览 MPQ 档案中的文件。
现在,我们都知道 Windows 资源管理器是如何浏览 .zip 档案的,我很乐意让它打开具有如此丰富功能的 .MPQ 文件。

这甚至可能吗?所以有可能...
如果可以,那怎么办? Shell 文件夹...

有人可以给我举个例子吗? (C#) 我不能只将 C++ 翻译成 C#...

【问题讨论】:

    标签: c# archive explorer shell-extensions


    【解决方案1】:

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

    【讨论】:

    • 谢谢!我马上看链接!编辑:那个例子是用 C++ 编写的,我不是很熟练。你能给我或者给我一个例子或者一个 COM 接口库吗?
    • @Vercas:不。不幸的是,这是一组非常先进的 COM 接口,需要实现。我只看到它在 C++ 中完成,因为在 .NET 4 之前,使用 .NET 是一个非常糟糕的主意(因为它是一个进程内 shell 扩展)。
    • 无论如何我都会接受这个答案,因为它是正确的,毕竟。
    【解决方案2】:

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

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

    最后,查看WindowsShell:它可能正是您要找的!

    抱歉,暴风雨过后这么晚才来……

    【讨论】:

    • 天哪。谢谢你的节目!我完全需要这样的东西!我将尝试剖析源代码并使其使用我的 C# 库而不是它自己的 TAR 函数!
    • @Vercas 那应该工作:)。但是,我认为您必须使用 .Net 4.0,因为这是框架的唯一版本,它允许在同一进程中同时使用其他版本(除非您完全确定您的 DLL 是唯一托管的)。跨度>
    • @Vercas 但是,请确保您的函数(尤其是列出和描述文件的函数)非常快,因为它们往往被频繁调用。一旦你有一个可用的 C# 版本,就用 C++ 重写它们。
    • @Vercas:检查我的编辑!我找到了更接近您需求的东西(我认为)!但是,它没有实现修改存档。 (您可以更改接受的答案:p)
    • 这很尴尬...我会尝试WindowsShell!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    • 2013-09-15
    • 1970-01-01
    • 2014-05-22
    • 2011-02-09
    • 2019-12-30
    • 1970-01-01
    相关资源
    最近更新 更多