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

原创 2006年06月13日 15:16:00

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

Private Declare Sub GetUrlCacheEntryInfo Lib "wininet.dll" Alias _
    
"GetUrlCacheEntryInfoA" (ByVal lpszUrlName As StringByRef 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

 

vb.net 文件夹实现移动 并显示进度条,richtextbox1显示移动的文件名

利用线程,和计时器,Function GetFolderSize从网上借鉴的,IO类只支持不同分区移动,所以移动目录只能在相同分区,设计界面如图,如: d:/a  d:/b(空目录)代码如下 Impo...

用vb6实现的URL分析器

  • 2015年05月28日 15:23
  • 45.39MB
  • 下载

有关ICP(Internet Cache Protocol)协议的总结(一)之RFC 2186

本文章主要是基于ICP(Internet Cache Protocol)协议(rfc 2186)
  • gyley2
  • gyley2
  • 2014年04月10日 13:51
  • 1477

有关ICP(Internet Cache Protocol)协议的总结(三)

Internet 高速缓存协议 (Internet Cache Protocol, ICP) 是一种对象位置协议,通过该协议各高速缓存可以彼此通信。高速缓存可以使用 ICP 就是否存在高速缓存的 UR...
  • gyley2
  • gyley2
  • 2014年04月10日 10:32
  • 1014

下载的文件名URL格式的改名

  • 2011年03月24日 11:08
  • 264B
  • 下载

有关ICP(Internet Cache Protocol)协议的总结(二)之RFC2187

为什么写完了三才来写二呢?因为《ICP.....二》是对
  • gyley2
  • gyley2
  • 2014年04月15日 13:29
  • 1396

从Internet上抓取指定URL的源码的方案(C#)

#region 测试获取远程网页 GetPageCode gpc = new GetPageCode(); gpc.Url="http://ppcode.com/"; gpc.ProxyStat...
  • my98800
  • my98800
  • 2016年08月24日 08:52
  • 214
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何从URL取得其在Internet Cache中的文件名(vb实现)
举报原因:
原因补充:

(最多只允许输入30个字)