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