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

来源:互联网 发布:ubuntu 17.04 优麒麟 编辑:程序博客网 时间:2024/05/17 03:58

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 的错误

 

http://hi.baidu.com/83925com/blog/item/ca8483fdb996da42d6887d82.html

原创粉丝点击