vb urldownloadtofile 下载 及 容易发生的问题

  这两天写自动升级程序,发现urldownloadtofile是个很好用的函数,只是,当我第二次下载的时候,发现它从缓存中下载这点比较烦人,找了一下午的资料,终于找到了解决的办法,现在把它写下来,希望能帮到有缘的人

'从网站下载文件

Public 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

'清除缓存

Public Declare Function DeleteUrlCacheEntry Lib "wininet" Alias "DeleteUrlCacheEntryA" (ByVal lpszUrlName As String) As Long

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

DeleteUrlCacheEntry Url '清除缓存

End If

End Function

使用方法:

DownloadFile "http://localhost/Update/GpsSoftSet.ini", App.Path & "\GpsSoftSet.ini"

本人使用的是VB6.0,在调试程序中,第二次下载还是从缓存中下的,但是编译后的.exe文件就可以直接从服务器下载文件