'声明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'定义通用下载函数
'它有2个参数,第1个是URL,第2个是本地存盘文件
'呵呵,是否是太简练了!不仅下载过程封装了,连保存文件的工作也一起帮我们做了!
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
End Function'点击“下载”按钮后的处理程序
Private Sub Command1_Click()
  If DownloadFile(Trim(Text1.Text), "c:_mydown.dwn") Then
     MsgBox "下载成功!!!"
  Else
     MsgBox "下载失败 ;-((("
  End If
End Sub
*****************************************************************
我依据上面改了一下,想查找网络一个目录下所有文件名,就是遍历。
如果文件存在,我不希望就下载了,我只是希望知道有没有。
但是上面代码查到有了都会下载,万一文件很大,我找下一个就很慢了。也就是说我希望遍历网络当前目录下的文件名,但是不希望找到就下载,
这样我找起来快,怎么改上面的代码?

解决方案 »

  1.   

    上面的代码我试了没问题的,web路径下查到文件,不是ftp。我稍微改了一下,If DownloadFile(Trim(Text1.Text), "c:\mydown.dwn") Then
    Text1.Text改成遍历,就是查找
    a.txt
    b.txt
    c.txt
    ...
    z.txt
    ...可以查到所有的文件名,但是万一a.txt存在,
    一定是会下载成c:\mydown.dwn的。我只是要看看这个web目录下有什么文件名,不要让他下载。
    也就是说查到一个下载一个,要浪费很多查找时间。其实是上面代码的参数我不是很理解,看看怎么设置。
      

  2.   

    Private Sub Command1_Click()
    Dim a As String
    Dim RetCode As Long
    Inet1.OpenURL "http://yang/xml\00.bmp"
    MsgBox Inet1.GetHeader
    MsgBox Inet1.GetHeader("content-length")
    RetCode = Val(Mid(Trim(Inet1.GetHeader), 10, 3))
        Select Case RetCode
        Case 200
            MsgBox "成功了"
        Case 404
            MsgBox "失败了"
        Case Else
            MsgBox "Error"
        End Select
    End Sub
      

  3.   

    谢谢楼上。
    我想再问一下,用我最前面的代码,
    DownloadFile函数有没办法解决我的问题?
      

  4.   

    DownloadFile本来就是用来下载的,你说呢?
      

  5.   

    Inet1.OpenURL "http://yang/xml\00.bmp"我试过了,还是会下载完00.bmp,才能知道有没有这个文件。
    要是00.bmp大小是1G,那我要等很久才能查找下一个文件了。Inet1.OpenURL "http://yang/xml\00.swf"
    这样好像还会出类型不匹配的错误。 online(龙卷风V2.0--再战江湖) 
    帮我再看看,谢谢。