SevenZipSharp 在提取时显示当前提取文件

Posted

技术标签:

【中文标题】SevenZipSharp 在提取时显示当前提取文件【英文标题】:SevenZipSharp show current extracting file while doing extraction 【发布时间】:2012-12-09 05:08:56 【问题描述】:

我正在使用 vb.net 并且想知道在提取档案时如何显示正在提取的文件。我已经有一个解决方法,但它很“作弊”,并没有真正显示当前正在提取的文件。

Public Class Form1
    Private listItemIndex As Integer = 0

    Public Sub ext_Extracting(ByVal sender As Object, ByVal e As SevenZip.ProgressEventArgs)
        Dim ext As SevenZipExtractor = New SevenZipExtractor("C:\Test.7z")
        If listItemIndex < ext.ArchiveFileNames.Count Then
            Label1.Text = ext.ArchiveFileNames.Item(listItemIndex).ToString()
            listItemIndex += 1
        End If
    End Sub
End Class

【问题讨论】:

【参考方案1】:

这个答案是由 OP 写的,但不正确edited into the question:

好的,我明白了。我必须将“FileInfo.FileName”添加到“SevenZip.FileInfoEventArgs”中,然后在提取时对其进行引用。

Public Sub FileExtractionStarted(ByVal sender As Object, ByVal e As SevenZip.FileInfoEventArgs)
    Label1.Text = e.FileInfo.FileName
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    SevenZipExtractor.SetLibraryPath("C:\7z.dll")
    Dim ext As SevenZipExtractor = New SevenZipExtractor("C:\test.7z")
    ext.BeginExtractArchive("C:\Test")
    AddHandler ext.ExtractionFinished, AddressOf ext_ExtractionFinished
    AddHandler ext.Extracting, AddressOf ext_Extracting
    AddHandler ext.FileExtractionStarted, AddressOf FileExtractionStarted '<---
End Sub

【讨论】:

user1888932:如果您有兴趣从此答案中获得代表点数,请将其作为您自己的答案发布,然后在此处发表评论,我将删除此社区 wiki。

以上是关于SevenZipSharp 在提取时显示当前提取文件的主要内容,如果未能解决你的问题,请参考以下文章

在 SFX 存档提取时显示进度条

如何使用 SevenZipSharp 提取多卷 7z 文件?

envi提取特征点反射率时显示点不在范围内

SevenZipSharp ExtractARchive 决定了错误的格式

仅在悬停时显示 d3 节点文本

单击 RecyclerView 时显示附加信息