我需要以某种方式使用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%....
有人可以给我任何资源或编写一些代码来完成部分/全部吗?
由于
答案 0 :(得分:1)
对于问题的解压缩部分:7-Zip是一个非常棒的开源文件归档实用程序,它具有良好的命令行界面。这是一个如何从VB调用7-Zip的例子(一旦安装完毕):
Set WshShell = VBA.CreateObject("WScript.Shell")
WshShell.Run "c:\Program Files\7-Zip\7z.exe " & _
"a -tzip myarchive.zip file.dat file2.txt file3.png", 1, True
此示例将三个文件压缩到一个存档中,而您希望从存档中提取文件...只需在文档中查找相应的命令即可。
请注意,7-Zip正在执行时会弹出一个命令窗口,在那里你会看到一个%进度指示器。如果你希望这个指标出现在其他地方,那么你可以通过一些独创性将标准输出传输到其他相关位置。