2010-11-20 60 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

相關問題