-1

さて、ファイルを解凍できるようにするdllファイルを検索しました.unrar.dll、chilkat、sharpcompressなど、かなりの数を見つけることができましたが、Rar自体が提供するものを使用したかったのです。

そこで、プロジェクトで DLL ファイルを参照してインポートしました。unrar.dll を使用していました。

しかし、テストして試してみるための最新のコードを見つけることができませんでした。私が見つけたすべての例は、最新ではないか、Vb.net 用ではありませんでした。

インストールに含まれていた公式の例も試しましたが、修正しても機能せず、コードを使用しようとすると常にエラーが発生しました

object reference not set to an instance of an object

特定の場所からプログラムのルート ディレクトリに rar ファイルを unrar したいだけなので、プログラムがデスクトップにある場合は、マイ ドキュメント内のファイルを unrar し、ファイルをデスクトップに抽出します。

4

2 に答える 2

3

ファイルを解凍したいだけなら、SharpCompressでそれを行うことができまし

まず、新しい VB.Net アプリを作成し、このコードを使用して Rar ファイルからすべてのファイルを抽出する前に、SharpCompress.dll への参照を追加しました。

'Imports 
Imports SharpCompress.Archives
Imports SharpCompress.Common

'Unrar code
Dim archive As IArchive = ArchiveFactory.Open("C:\file.rar")

For Each entry In archive.Entries
    If Not entry.IsDirectory Then
        Console.WriteLine(entry.Key)
        entry.WriteToDirectory("C:\unrar", New ExtractionOptions With  
                              {.ExtractFullPath = True, .Overwrite = True})
    End If
Next

その他のコード サンプル

于 2013-08-30T02:31:44.327 に答える
1

vb.net で試す人のために、抽出オプションの名前が変更され、次のように使用されます。

Dim options As New ExtractionOptions With {
    .ExtractFullPath = True,
    .Overwrite = True
}
entry.WriteToDirectory(Application.StartupPath, options)
于 2018-05-22T09:01:20.407 に答える