delphi根据URL获取缓存文件的方法


uses WinInet;

function GetLocalFileNameFromIECache(url:string;var LocalFileName:string):DWORD;
var
D: Cardinal;
T: PInternetCacheEntryInfo;
begin
result := S_OK;
D := 0;
T:=nil;
GetUrlCacheEntryInfo(PChar(Url), T^, D);
Getmem(T, D);
try
   if (GetUrlCacheEntryInfo(PChar(Url), T^, D)) then
   begin
   LocalFileName:=T^.lpszLocalFileName;
  end
  else
   Result := GetLastError;
  finally
   Freemem(T, D);
end;
end;

GetUrlCacheEntryInfo函数介绍

  VC声明

  BOOL GetUrlCacheEntryInfo ( LPCTSTR lpszUrlName, LPINTERNET_CACHE_ENTRY_INFO lpCacheEntryInfo, LPDWORD lpdwCacheEntryInfoBufferSize);

  函数功能

  获得指定Cache Entry的信息

  参数说明

  lpszUrlName Cache Entry的名字 名字中不能包含换码符

  lpCacheEntryInfo 一个指向LPINTERNET_CACHE_ENTRY_INFO的结构体指针 该结构体包含网页缓存的很多信息

  lpdwCacheEntryInfoBufferSize 缓存大小

  返回值

  如果成功 返回真 否则为假

  备注

  这个函数不能解析URL 所以如果一个URL包含"#"是不会被找到的 用GetLastError会获取到一个ERROR_FILE_NOT_FOUND 的错误



联系电话:
020-00000000
联系电话:
020-00000000
联系电话:
020-12345678