ここからSevenZSharpで作業します
私が使用するデコードファイルの場合:
CompressionEngine.Current.Decoder.DecodeIntoDirectory(@"D:\target\host_update.7z", @"D:\target");
しかし、パスワード付きの .7z ファイルをデコードする方法についての情報がありません!? 私を助けてください。ありがとう
ここからSevenZSharpで作業します
私が使用するデコードファイルの場合:
CompressionEngine.Current.Decoder.DecodeIntoDirectory(@"D:\target\host_update.7z", @"D:\target");
しかし、パスワード付きの .7z ファイルをデコードする方法についての情報がありません!? 私を助けてください。ありがとう
パスワードと幅広い形式をサポートする「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
SevenZSharp のソース コードを見ると、パスワードで保護されたファイルはサポートされていません。
codeplex から役立つ可能性のある他のものを次に示します。ICryptoGetTextPassword
7zがパスワードで保護されている場合に使用できるインターフェースがあるようです。
編集
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 ですが、 .