首页  编辑  

返回页面文件对应的Cache文件名

Tags: /超级猛料/OS.操作系统/IE.扩展/TWebBrowser/页面内容/   Date Created:

返回URL对应的网页缓冲的文件名

uses

 WiniNet;

// Get Cached File Path From URL

function GetCachedFileFromURL(strUL: string; var strLocalFile: string): boolean;

var

 lpEntryInfo: PInternetCacheEntryInfo;

 hCacheDir: LongWord;

 dwEntrySize: LongWord;

 dwLastError: LongWord;

begin

 Result := False;

 dwEntrySize := 0;

 // Begin the enumeration of the Internet cache.

 FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwEntrySize);

 GetMem(lpEntryInfo, dwEntrySize);

 hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize);

 if (hCacheDir <> 0) and (strUL = lpEntryInfo^.lpszSourceUrlName) then

 begin

   strLocalFile := lpEntryInfo^.lpszLocalFileName;

   Result := True;

 end;

 FreeMem(lpEntryInfo);

 if Result = False then

   repeat

     dwEntrySize := 0;

     // Retrieves the next cache group in a cache group enumeration

     FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize);

     dwLastError := GetLastError();

     if (GetLastError = ERROR_INSUFFICIENT_BUFFER) then

     begin

       GetMem(lpEntryInfo, dwEntrySize);

       if (FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize)) then

       begin

         if strUL = lpEntryInfo^.lpszSourceUrlName then

         begin

           strLocalFile := lpEntryInfo^.lpszLocalFileName;

           Result := True;

           Break;

         end;

       end;

       FreeMem(lpEntryInfo);

     end;

   until (dwLastError = ERROR_NO_MORE_ITEMS);

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

WebBrowser1.Navigate('http://www.163.com');

end;

procedure TForm1.Button2Click(Sender: TObject);

var

 F : string;

begin

GetCachedFileFromURL(WebBrowser1.LocationURL, F);

caption := f;

end;