清除 IE 的 cache
uses
WinInet;
procedure DeleteIECache;
var
lpEntryInfo: PInternetCacheEntryInfo;
hCacheDir: LongWord;
dwEntrySize: LongWord;
CacheFile:String; //这块代码是选择性地清理网站Cookies;
begin
dwEntrySize := 0;
FindFirstUrlCacheEntry(nil,TInternetCacheEntryInfo(nil^),dwEntrySize);//第一个参数可以指定类型
GetMem(lpEntryInfo, dwEntrySize);
if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize);
if hCacheDir <> 0 then
begin
repeat
{
CacheFile:=lpEntryInfo^.lpszSourceUrlName;
if Pos('baidu',CacheFile) > 0 then
begin
Application.ProcessMessages;
end
else
begin
DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName);
end;
} //这块代码是选择性地清理网站Cookies;
{
if Pos('Cookies',lpEntryInfo^.lpszLocalFileName)=0 then
begin
Memo.Lines.Add(lpEntryInfo^.lpszLocalFileName); //测试列举;
DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName);
end;
} //这块代码删除Temporary Internet Files目录下Cookies以外的所有文件,
DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName);
FreeMem(lpEntryInfo, dwEntrySize);
dwEntrySize := 0;
FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize);
GetMem(lpEntryInfo, dwEntrySize);
if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
until not FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize);
end;
FreeMem(lpEntryInfo, dwEntrySize);
FindCloseUrlCache(hCacheDir);
end;
// Example:
procedure TForm1.Button1Click(Sender: TObject);
begin
DeleteIECache;
end;