Option Explicit
Private Declare Function GetUrlCacheEntryInfo Lib "wininet.dll" Alias "GetUrlCacheEntryInfoA" (ByVal sUrlName As String, lpCacheEntryInfo As Any, lpdwCacheEntryInfoBufferSize As Long) As Long
Private Declare Function DeleteUrlCacheEntry Lib "wininet.dll" Alias "DeleteUrlCacheEntryA" (ByVal lpszUrlName As String) As Long
Public Function InCache(ByVal URL As String) As Boolean
If GetUrlCacheEntryInfo(URL, ByVal 0&, 0) = 0 Then
InCache = (Err.LastDllError = 122)
End If
End Function
Public Sub DeleteCacheURL(ByVal URL As String)
DeleteUrlCacheEntry URL
End Sub
使用方法:
Private Sub Command1_Click()
Dim URL As String
URL = "http://www.chenoe.com/default.asp"
If (InCache(URL)) Then
DeleteCacheURL URL
End If
End Sub
方法1、这是CSDN找到的,但是在Webbrowser1_DownloadComplete后,加入相关代码后,还是无法删除刚浏览完的缓存? 不知为什么?
Private Declare Function GetUrlCacheEntryInfo Lib "wininet.dll" Alias "GetUrlCacheEntryInfoA" (ByVal sUrlName As String, lpCacheEntryInfo As Any, lpdwCacheEntryInfoBufferSize As Long) As Long
Private Declare Function DeleteUrlCacheEntry Lib "wininet.dll" Alias "DeleteUrlCacheEntryA" (ByVal lpszUrlName As String) As Long
Public Function InCache(ByVal URL As String) As Boolean
If GetUrlCacheEntryInfo(URL, ByVal 0&, 0) = 0 Then
InCache = (Err.LastDllError = 122)
End If
End Function
Public Sub DeleteCacheURL(ByVal URL As String)
DeleteUrlCacheEntry URL
End Sub
Private Sub Webbrowser1_DownloadComplete()
On Error Resume Next
StatusBar1.Panels(1).Text = "完成"
ProgressBar1.Value = 0
url22 = WebBrowser1.LocationURL
If (InCache(url22)) Then
DeleteCacheURL url22
End If
End Sub