如何从URL取得其在Internet Cache中的文件名(vb实现)

本文介绍了一种使用VB实现的方法,详细解析如何从URL获取其在Internet Cache中的对应文件名。通过提供的链接,读者可以访问完整的文章内容。

参考自 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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值