2011年7月15日 星期五

如何使用 VB6 下載網路檔案

今天一個朋友打電話,說需要用 VB6 寫一個可以下載網路檔案的功能
相關功能很久以前寫過,翻了一下記錄發現很簡單,幾行就解決了。

建立一個 Module

'由網路下載檔案
Public Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal Caller As Long, ByVal URL As String, ByVal FileName As String, ByVal Reserved As Long, ByVal fnCB As Long) As Long
'由網路下載檔案
Public Declare Function DoFileDownload Lib "shdocvw.dll" _
(ByVal lpszFile As String) As Long

在主程式中直接呼叫
'不會跳出下載框
    URLDownloadToFile 0, "http://xxx.xxx.xxx.xxx/test.txt", "c:\test.txt", 0, 0

    '會跳出下載框
    Dim sFileUrl As String
    sFileUrl = StrConv("http://xxx.xxx.xxx.xxx/test.txt", vbUnicode)
    DoFileDownload sFileUrl

就這麼簡單。

4 則留言:

  1. 要使用 API 並沒有另外用物件
    API 的呼叫就放在 Module 裡
    主程式直接拿來用就行了。

    回覆刪除
  2. 想請問 ,若用一個command
    按下後 偵測C:\某位置有無
    若無自動下載 若有則開起
    該怎麼寫呢,求解!

    回覆刪除
  3. 想請問 ,若用一個command
    按下後 偵測C:\某位置有無
    若無自動下載 若有則開起
    該怎麼寫呢,求解!

    回覆刪除