下面是我写的一个函数,把所有的缓存文件路径添加到一个字符串列表中,直接看代码,带了注释。另外还有删除缓存等等大家自己到msdn找找。
需要引用
-
- function GetCacheFilePath(): TStringList;
- var
- pEntryInfo: PInternetCacheEntryInfo;
- lCacheDir, lEntrySize, lLastError: Cardinal;
- bLoop: Boolean;
- begin
- Result := nil;
-
-
- lEntrySize := 0;
- lCacheDir := FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^),
- lEntrySize);
- if lEntrySize = 0 then
- Exit;
-
- GetMem(pEntryInfo, lEntrySize);
-
- lCacheDir := FindFirstUrlCacheEntry(nil, pEntryInfo^, lEntrySize);
- if lCacheDir = 0 then
- begin
- FreeMem(pEntryInfo, lEntrySize);
- Exit;
- end;
-
- Result := TStringList.Create;
-
-
- while True do
- begin
- try
- Result.Add(string(StrPas(pEntryInfo^.lpszLocalFileName)));
- except
- end;
-
- FreeMem(pEntryInfo, lEntrySize);
-
- lEntrySize := 0;
- FindNextUrlCacheEntry(lCacheDir, TInternetCacheEntryInfo(nil^), lEntrySize);
-
- if GetLastError() = ERROR_INSUFFICIENT_BUFFER then
- GetMem(pEntryInfo, lEntrySize)
- else
- Break;
-
- FindNextUrlCacheEntry(lCacheDir, pEntryInfo^, lEntrySize);
- end;
-
-
- FindCloseUrlCache(lCacheDir);
-
- end;