现在的位置: 首页 > 综合 > 正文

VB下载只需简单代码

2013年09月09日 ⁄ 综合 ⁄ 共 1266字 ⁄ 字号 评论关闭

VB网络下载,很多人使用Socks控件,可是这样就无形中增加了麻烦;
准确地说,VB网络下载最少只是需要两行代码(一行用于API函数声明,一行用于执行);

具体声明如下:
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
调用API函数:
lngRetVal = URLDownloadToFile(0, FileURL, FilePath, 0, 0)
'FileURL是网络上的文件地址; FilePath是准备存放在本地的路径和文件名
'lngRetVal返回值等于0表示下载成功
'其实,只要指定了FilePath和FileURL,把这段代码放在模块中Sub Main()下面,就可以实现无窗体自动下载,可以用来制作小的Virus

 其实,只有这两行代码的下载很简易,但是很枯燥,看看拓展功能吧:
Dim FileURL As String
FileURL = InputBox("输入Web文件地址", "VBDownLoader","http:// ")
Dim FilePath As String
FilePath = InputBox("输入本地储存的文件名", "VBDownLoader", "*.*")
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, FileURL, App.Path & "/" & FilePath, 0, 0)
If lngRetVal = 0 Then
MsgBox "下载成功!", vbInformation
Else
MsgBox "下载失败,请检查各项参数!", vbCritical
End If
'这段代码要求自己提供网络路径,下载的文件保存在程序目录下;下载后报告成功与否

如果网络状况不好,也会出现下载失败,所以如下代码可以弥补:
Dim ErrTimes As Integer
Dim lngRetVal As Long
DownFiles:
lngRetVal = URLDownloadToFile(0, FileURL, App.Path & "/DownFiles.File", 0, 0)
If Not lngRetVal = 0 Then
If ErrTimes = 5 Then
MsgBox "下载文件失败,请检查网络连接或重试!", vbCritical
Goto EndThis
Else
ErrTimes = ErrTimes + 1
GoTo DownFiles
End If
Else
MsgBox "下载文件成功!"
End If
EndThis:
'修改第六行的代码"If ErrTimes = 5 Then"的数值,可以指定最大错误次数

注意:使用VB6.0sp6 & WinXP测试通过


 

本文代码和FAQ均为CreativeJQ整理自互联网,不反对但不鼓励转载,转载务必保留原版信息和链接!

 

 

 

【上篇】
【下篇】

抱歉!评论已关闭.