Delphi 获取Internet缓存文件


本文整理自网络,侵删。

 
下面是我写的一个函数,把所有的缓存文件路径添加到一个字符串列表中,直接看代码,带了注释。另外还有删除缓存等等大家自己到msdn找找。
//Delphi 获取Internet缓存文件 -- FindFirstUrlCacheEntry FindNextUrlCacheEntry
需要引用

WinInet  

// 获取Internet缓存文件 
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;

相关阅读 >>

Delphi判断某一个点是否在一个区域内

Delphi urldownloadtofile 实现文件下载

Delphi 关于使用access中带参数的查询的用法

Delphi 删除字符串中首个字符

Delphi通过进程名获取进程pid函数

Delphi7 写过卡巴主动防御服务端

Delphi httpresponsestrings

Delphi xe android的所有权限按照分类总结说明

Delphi 创建文件夹并打开

Delphi xe7的android应用取得wi-fi的信息

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...