1

ここからSevenZSharpで作業します

私が使用するデコードファイルの場合:

CompressionEngine.Current.Decoder.DecodeIntoDirectory(@"D:\target\host_update.7z", @"D:\target");

しかし、パスワード付きの .7z ファイルをデコードする方法についての情報がありません!? 私を助けてください。ありがとう

4

2 に答える 2

2

パスワードと幅広い形式をサポートする「SevenZipSharp」を使用するには...

SevenZipSharp.dll を .Net プロジェクト参照にインポートします...

「7zx64.dll」と「7z.dll」をディレクトリに配置します...

次に、このコードを使用してパスをチェックし、正しい場合は抽出します..

コード

Imports SevenZip
Public Class FrmMain
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Btn1.Click

    ''Call to set DLL depending on processor type''
    If Environment.Is64BitProcess Then
        SevenZip.SevenZipCompressor.SetLibraryPath("7zx64.dll")
    Else
        SevenZip.SevenZipCompressor.SetLibraryPath("7z.dll")
    End If

    ''Set Destination of extraction''
    Dim DestDir = Application.StartupPath

    Try
        ''Check file with password''
        Dim Ext As New SevenZipExtractor(Tb1.Text, Tb2.Text)

        If Ext.Check() Then
            ''Extract files to destination''
            Ext.BeginExtractArchive(DestDir)
        End If

    Catch ex As Exception
        MessageBox.Show(ex.ToString())
    End Try

End Sub
End Class
于 2012-06-24T10:10:17.837 に答える
1

SevenZSharp のソース コードを見ると、パスワードで保護されたファイルはサポートされていません。

codeplex から役立つ可能性のある他のものを次に示します。ICryptoGetTextPassword7zがパスワードで保護されている場合に使用できるインターフェースがあるようです。

編集

SevenZipSharp をもう少し詳しく見てみると、プロジェクト ページ ( http://sevenzipsharp.codeplex.com/ )によると、パスワードで保護されたアーカイブをサポートする必要があるようです。

  • 暗号化とパスワードがサポートされています。

Codeplexから最新のコードをダウンロードして自分でビルドする必要がSevenZipExtractorあります。その中には、次のコンストラクターがある場所に呼び出されるクラスがあります。

/// <summary>
/// Initializes a new instance of SevenZipExtractor class.
/// </summary>
/// <param name="archiveFullName">The archive full file name.</param>
/// <param name="password">Password for an encrypted archive.</param>
public SevenZipExtractor(string archiveFullName, string password)
    : base(password)
{
    Init(archiveFullName);
}

これは Seven7Sharp と同じではないことに注意7zしてください。これは SevenZipSharp ですが、 .

于 2011-11-08T08:22:13.703 に答える