(声明:魏滔序原创,转贴请注明出处。)通过URL从Temporary Internet Files得到本地文件路径的函数
Option Explicit Private Declare Function GetUrlCacheEntryInfo Lib "wininet.dll" Alias "GetUrlCacheEntryInfoW" (ByVal szUrlName As Long, ByRef lpCacheEntryInfo As Any, ByRef lpdwCacheEntryInfoBufferSize As Long) As Long Private Declare Function SysAllocString Lib "oleaut32.dll" (ByVal pOlechar As Long) As String Private Type FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type Private Type INTE_CACHE_ENTRY_INFO dwStructSize As Long lpszSourceUrlName As Long lpszLocalFileName As Long CacheEntryType As Long dwUseCount As Long dwHitRate As Long dwSizeLow As Long dwSizeHigh As Long LastModifiedTime As FILETIME ExpireTime As FILETIME LastAccessTime As FILETIME LastSyncTime As FILETIME lpHeaderInfo As Long dwHeaderInfoSize As Long lpszFileExtension As Long dwReserved As Long End Type Private Declare Sub CopyMem Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long) '(声明:魏滔序原创,转贴请注明出处。) Public Function GetCachePath(lpszUrl As String) As String Dim dwEntrySize As Long Dim lpCacheEntry As INTE_CACHE_ENTRY_INFO Dim tarr() As Byte Call GetUrlCacheEntryInfo(StrPtr(lpszUrl), ByVal 0, dwEntrySize) If dwEntrySize > 0 Then ReDim tarr(0 To dwEntrySize) Call GetUrlCacheEntryInfo(StrPtr(lpszUrl), tarr(0), dwEntrySize) CopyMem ByVal lpCacheEntry, tarr(0), Len(lpCacheEntry) GetCachePath = SysAllocString(lpCacheEntry.lpszLocalFileName) GetCachePath = StrConv(GetCachePath, vbFromUnicode) End If End Function
通过URL从Temporary Internet Files得到本地文件路径的函数
最新推荐文章于 2012-05-14 23:34:00 发布