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 获取鼠标坐标

Delphi 读取文本文件的最后一行

Delphi(更改图标)

Delphi遍历指定目录下指定类型文件的函数

Delphi任务对话框ttaskdialog类介绍

Delphi图像hash算法,关于图像相似度问题

Delphi 完全自定义窗体风格的实现

Delphi rs232c串行通讯接口的应用

Delphi 数据集转换json对象

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



打赏

取消

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

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

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

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

评论

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