如何从URL取得其在Internet Cache中的文件名(vb实现)
2006-06-13 15:16
543 查看
参考自 http://blog.csdn.net/cathyeagle/archive/2004/11/05/167900.aspx
'api声明
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private Type INTERNET_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
'union {
' DWORD dwReserved;
' DWORD dwExemptDelta;
'}
dwReserved As Long
End Type
Private Declare Sub MoveMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef _
Destination As Any, ByRef Source As Any, ByVal Length As Long)
Private Declare Function SysAllocString Lib "oleaut32.dll" (ByVal pOlechar As Long) As String
Private Declare Sub GetUrlCacheEntryInfo Lib "wininet.dll" Alias _
"GetUrlCacheEntryInfoA" (ByVal lpszUrlName As String, ByRef lpCacheEntryInfo As _
Any, ByRef lpdwCacheEntryInfoBufferSize As Long)
'函数
Private Function getcachepath(lpszUrl$) As String
Dim dwEntrySize&
Dim lpCacheEntry As INTERNET_CACHE_ENTRY_INFO
Dim tarr() As Byte
Call GetUrlCacheEntryInfo(lpszUrl, ByVal 0, dwEntrySize)
If dwEntrySize > 0 Then
ReDim tarr(0 To dwEntrySize)
Call GetUrlCacheEntryInfo(lpszUrl, tarr(0), dwEntrySize)
MoveMemory lpCacheEntry, tarr(0), Len(lpCacheEntry)
getcachepath = SysAllocString(lpCacheEntry.lpszLocalFileName)
Else
'getcachepath =""
End If
End Function
'api声明
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private Type INTERNET_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
'union {
' DWORD dwReserved;
' DWORD dwExemptDelta;
'}
dwReserved As Long
End Type
Private Declare Sub MoveMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef _
Destination As Any, ByRef Source As Any, ByVal Length As Long)
Private Declare Function SysAllocString Lib "oleaut32.dll" (ByVal pOlechar As Long) As String
Private Declare Sub GetUrlCacheEntryInfo Lib "wininet.dll" Alias _
"GetUrlCacheEntryInfoA" (ByVal lpszUrlName As String, ByRef lpCacheEntryInfo As _
Any, ByRef lpdwCacheEntryInfoBufferSize As Long)
'函数
Private Function getcachepath(lpszUrl$) As String
Dim dwEntrySize&
Dim lpCacheEntry As INTERNET_CACHE_ENTRY_INFO
Dim tarr() As Byte
Call GetUrlCacheEntryInfo(lpszUrl, ByVal 0, dwEntrySize)
If dwEntrySize > 0 Then
ReDim tarr(0 To dwEntrySize)
Call GetUrlCacheEntryInfo(lpszUrl, tarr(0), dwEntrySize)
MoveMemory lpCacheEntry, tarr(0), Len(lpCacheEntry)
getcachepath = SysAllocString(lpCacheEntry.lpszLocalFileName)
Else
'getcachepath =""
End If
End Function
相关文章推荐
- 如何从URL取得其在Internet Cache中的文件名
- FAQ:如何从URL取得其在Internet Cache中的文件名
- FAQ:如何从URL取得其在Internet Cache中的文件名
- 如何从URL取得其在Internet Cache中的文件名
- FAQ:如何从URL取得其在Internet Cache中的文件名
- 如何实现VB与EXCEL的无缝连接
- ASP.NET 如何取得 Request URL 的各个部分
- nginx如何实现404状态返回 200隐藏URL
- 在ASP.NET中如何实现和利用URL重写
- php取得当前访问url文件名的几种方法
- 如何用JS取得网址中的文件名
- ASP.NET 如何取得 Request URL 的各個部分
- ASP.NET 如何取得 Request URL 的各個部分
- ASP.NET 如何取得 Request URL 的各個部分
- 如何实现VB与EXCEL的无缝连接
- 在VB.NET动态接口是如何实现的?
- 如何实现VB与EXCEL的无缝连接
- tp分页的实现(如何随心所欲生成页码的url参数)
- Java如何实现URL带请求参数(get/post)及得到get和post请求url和参数列表的方法
- ASP.NET 如何取得 Request URL 的各个部分