Programación vb6.0
Const privada CACHGROUP_SEARCH_ALL = & H0
Const privada ERROR_NO_MORE_FILES = 18
Const privada ERROR_NO_MORE_ITEMS = 259
Esta es la primera vez que el archivo se almacena en caché.
ITEMS = 259
Const privado CACHEGROUP_FLAG_FLUSHURL_ONDELETE = amp; H2
Const privado BUFFERSIZE = 2048
Const privado COOKIE_ CACHE_ENTRY Mientras = amp;
Const privada URLHISTORY_CACHE_ENTRY Mientras = amp; H200000
Const privada NORMAL_CACHE_ENTRY Mientras = amp H1
Const privada TRACK_OFFLINE_CACHE_ENTRY Mientras = amp; >Const privada TRACK_ONLINE_CACHE_ENTRY Mientras = amp H20
Tipo privado FILETIME
dwLowDateTime Mientras
dwHighDateTime Mientras
Tipo final
Tipo privado INTERNET_CACHE_ENTRY _INFO
dwStructSize tan largo
lpszSourceUrlName tan largo
lpszLocalFileName tan largo
CacheEntryType durante todo el tiempo
dwUseCount durante el tiempo
dwHitRate durante el tiempo
dwSizeLow durante el tiempo
dwSizeHighAs largo durante el tiempo
LastModifiedTime como FILETIME
ExpireTime como FILETIME
LastAccessTime como FILETIME
LastSyncTime como FILETIME
lpHeaderInfo siempre y cuando
dwHeaderInfoSizeAs Long
lpszFileExtension As Long
dwReserved As Long
bff(0 a 2048) como byte
Tipo de fin
Función de declaración privada FindFirstUrlCacheGroup Lib "wininet.dll" ( _
ByVal dwFlags As Long, _
ByVal dwFilter As Long, _
ByRef lpSearchCondition mientras ByVal dwSearchCondition mientras, _
ByVal dwSearchCondition mientras, _
ByRef lpGroupId como fecha, _
ByRef lpReserved As Long) As Long
Función de declaración privada DeleteUrlCacheGroup Lib "wininet.dll" (_
ByVal sGroupID como fecha, _
ByVal dwFlags Mientras, _
ByRef lpReserved As Long) Mientras
Función de declaración privada FindNextUrlCacheGroup Lib "wininet.dll" ( _
ByVal hFind As Long, _
ByRef lpGroupId As Date, _
ByRef lpReserved As Long) As Long
Función de declaración privada FindFirstUrlCacheEntry Lib Alias "wininet.dll" "FindFirstUrlCacheEntryA" ( _
ByVal lpszUrlSearchPattern As String, _
ByRef lpFirstCacheEntryInfo As INTERNET_CACHE_ENTRY_INFO, _
ByRef lpdwFirstCacheEntryInfoBufferSize As Long) As Long
Función de declaración privada DeleteUrlCacheEntry Lib "wininet.dll" Alias "DeleteUrlCacheEntryA" (_
ByVal lpszUrlName As Long) Siempre
Función de declaración privada FindNextUrlCacheEntry Lib "wininet.dll " Alias "FindNextUrlCacheEntryA" ( _
ByVal hEnumHandle As Long, _
ByRef lpNextCacheEntryInfo As INTERNET_CACHE_ENTRY_INFO, _
ByRef lpdwNextCacheEntryInfoBufferSize As Long) As Long
Private Sub DelCache(vUrlSearchPattern As String, opcional vExcluded As Long = 0)
Dim sGroupID As Date
Dim hGroup As Long
Dim hFile Mientras
Atenuar sEntryInfo como INTERNET_CACHE_ENTRY_INFO
Atenuar iSize mientras
Continúe con el siguiente paso si ocurre un error
hGroup = FindFirstUrlCacheGroup (0, 0, 0, 0, 0,
sGroupID, 0)
If Err.LastDllError
Salir Sub
De lo contrario
Err.Clear
Fin If
End If
iSize = BUFFERSIZE
If (0 = FindNextUrlCacheGroup(hGroup, sGroupID, iSize)) And (Err.LastDllError lt;gt; 2 ) Luego
Debug.Print "¡Error al encontrar el siguiente grupo de caché de URL! amp; Err.LastDllError
Finalizar si
Bucle hasta Err.LastDllError = 2 p> p>
Fin si
sEntryInfo.dwStructSize = 80
iSize = BUFFERSIZE
hFile = FindFirstUrlCacheEntry(vUrlSearchPattern, sEntryInfo, iSize) p>
Si (hFile = 0) Entonces
Si (Err.LastDllError = ERROR_NO_MORE_ITEMS) Entonces
Salir de Sub
Finalizar si
Debug.Print "ERROR: FindFirstUrlCacheEntry - " amp Err.LastDllError
Salir de Sub
Finalizar si
Hacer
DoEvents
If (sEntryInfo.CacheEntryType And vExcluded) = 0 Then
If (0 = DeleteUrlCacheEntry( sEntryInfo.lpszSourceUrlName)) _
And (Err.LastDllError lt; gt; 2) Entonces
Err.Clear
Finalizar si
Finalizar si
iSize = BUFFERSIZE
If (0 = FindNextUrlCacheEntry(hFile, sEntryInfo, iSize)) And (Err.LastDllError lt;gt; ERROR_NO_MORE_ITEMS) Then
Debug.Print "Error: No se puede encontrar la siguiente entrada de caché - " amp ; Err .LastDllError
Salir del sub
Finalizar si
Bucle hasta Err.LastDllError = ERROR_NO_MORE_ITEMS
Fin del sub
Private Sub Command1_Click()
DelCache "*.*"
End Sub
Se puede utilizar en la tabla
Escriba este código en una sola página para encontrar la ubicación del archivo llamando a una función API, recorra todas las carpetas en la carpeta de caché y luego use la función API para eliminar el archivo de caché.
Por cierto, me gustaría quejarme de que tus deberes son un poco inusuales.