我需要使用Visual Basic从互联网上下载一个ZIP文件。这是我目前拥有的:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim NewAppData As String
NewAppData = Environment.ExpandEnvironmentVariables("%AppData%/.minecraft.zip")
Call DownloadFile("http://blahblahbacksheep.co.cc/.minecraft.zip", NewAppData)
End Sub
当我调试程序时,它会给我以下信息:
Function 'DownloadFile' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used.
我想做的是下载ZIP文件,然后提取它。如果可能的话,显示标签的百分比,例如:
Downloaded: 100%
Extracting: 35%....
有人能给我一些资源或写一些代码来完成这一切吗?
感谢
对于您问题的解压缩部分:7-Zip是一个非常棒的开源文件归档实用程序,它有一个很好的命令行界面。下面是一个如何从VB调用7-Zip的示例(一旦安装):
Set WshShell = VBA.CreateObject("WScript.Shell")
WshShell.Run "c:Program Files7-Zip7z.exe " & _
"a -tzip myarchive.zip file.dat file2.txt file3.png", 1, True
此示例将三个文件压缩到一个归档中,而您希望从归档中提取文件。。。只需在文档中查找相应的命令即可。
请注意,7-Zip执行时会弹出一个命令窗口,在其中您会看到进度百分比指示器。如果你想让这个指示器出现在其他地方,那么只要有一点独创性,你就可以将标准输出通过管道传输到其他相关位置。