Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Temporary Internet Files: Größe u. Anzahl Files herausfi

  Alt 12. Aug 2006, 16:24
Hallo Go2EITS,

mit diesem Code und einem Blick in die API Dokumentation solltest du ein Stück weiter kommen:

Delphi-Quellcode:
uses
  WinInet;

function CacheSize(s: TStrings): Int64;
const
  MAXINFOSIZE = 4 shl 10;
var
  hCache: THandle;
  dwSize: Cardinal;
  i64: Int64;
  pInfo: PInternetCacheEntryInfo;
begin
  Result := 0;
  GetMem(pInfo, MAXINFOSIZE);
  pInfo.dwStructSize := MAXINFOSIZE;
  dwSize := MAXINFOSIZE;
  hCache := FindFirstUrlCacheEntry(nil, pInfo^, dwSize);
  if hCache <> 0 then
  begin
    s.Clear;
    repeat
      s.Add(StrPas(pInfo.lpszSourceUrlName));
      Int64Rec(i64).Hi := pInfo.dwSizeHigh;
      Int64Rec(i64).Lo := pInfo.dwSizeLow;
      Result := Result + i64;
      dwSize := MAXINFOSIZE;
    until not FindNextUrlCacheEntry(hCache, pInfo^, dwSize);
    FindCloseUrlCache(hCache);
  end;
  FreeMem(pInfo, MAXINFOSIZE);
  if hCache = 0 then
    raise Exception.Create(SysErrorMessage(GetLastError));
end;
Ich habe die byte size berechnet, bei nicht komprimierten Ordnern interessiert vielleicht eher die cluster size.

Grüße vom marabu

1. Hatte FreeMem() vergessen ...
2. Jeder Entry kann eine andere Size haben ...
  Mit Zitat antworten Zitat