U trendu

Delphi – Brisanje IE cash fajlova

Prikazaćemo vam zgodan primer za kreiranje programčića koji će izvršiti brisanje cash-a programa Internet Explorer. Kao što verovatno znate, zatrpan keš može da dovede do pada performansi, i Internet Explorer-a, i celog sistema. Osim toga, ovaj primer vam može poslužiti i kao osnovica za kasniju nadgradnju koja će da „barata“ kešom. Radi manipulacije kešom, u sekciju uses dodaćemo sledeću deklaraciju:

uses
wininet ;

Na praznu formu postavite jedno komandno dugme i jednu komponentu TMemo, u koju ćemo dodavati stavke koje se izčitaju iz keša. Dodajte sledeći kod unutar obrađivača događaja Click:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
lpUlazInfo: PInternetCacheEntryInfo;
hCacheDir: LongWord;
dwUlazVel, dwLastError: LongWord;
begin
//velicina prve stavke
dwUlazVel := 0;
FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwUlazVel);

//Kreiranje strukture koja ce cuvati ulaz
GetMem(lpUlazInfo, dwUlazVel);

//Unos prve cache stavke i priprema za drugu
hCacheDir := FindFirstUrlCacheEntry(nil, lpUlazInfo^, dwUlazVel);
if hCacheDir <> 0 then
Memo1.Lines.Add(string(lpUlazInfo^.lpszSourceUrlName));

//Ovu liniju cete koristiti za brisanje
{DeleteUrlCacheEntry(lpUlazInfo^.lpszSourceUrlName);}

FreeMem(lpUlazInfo);

//Prolazak kroz sve zapise
repeat
dwUlazVel := 0;
FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^),
 dwUlazVel);
dwLastError := GetLastError();
if GetLastError = ERROR_INSUFFICIENT_BUFFER then begin
GetMem(lpUlazInfo, dwUlazVel);
if FindNextUrlCacheEntry(hCacheDir, lpUlazInfo^, dwUlazVel) then
Memo1.Lines.Add(string(lpUlazInfo^.lpszSourceUrlName));
FreeMem(lpUlazInfo);
end;
until dwLastError = ERROR_NO_MORE_ITEMS;
end;

Kada ste dodali sve potrebne komponente i kod, pokrenite kompajliranje i dobićete prozor kao na slici. Kliknite na dugme „Obrisi IE Cash“, i procedura će iščitati sve stavke unutar keša, ali neće izvršiti brisanje (za slučaj da vam je nešto potrebno iz keša). Brisanje ćete moći da izbrišete tek kada uklonite vitičaste zagrade iz linije:

{DeleteUrlCacheEntry(lpUlazInfo^.lpszSourceUrlName);}

Pratite Krstaricu i preko mobilne aplikacije za Android i iPhone.