Delphi – Kako isprazniti ‘Recycle Bin’?

U ovom prilogu ćemo vam prikazati Delphi proceduru za pražnjenje Windows Recycle Bin-a (fajlova smeštenih u ovaj direktorijum). Za ovu proceduru ćemo iskoristiti sistemsku DLL biblioteku Shell32.dll, koja dolazi uz stariju verziju Internet Explorer-a (verziju 4.0), tj. već je ugrađena u Windows 98 i novije verzije ovog operativnog sistema. Morate obratiti pažnju na to da starije verzije Windows-a 95 nemaju update-ovanu verziju (tj. verzija koja onemogućava izvoz procedure) ove biblioteke.
Procedura koristi funkciju SHEmptyRecycleBinA koju ćemo pozvati iz Shell32.dll biblioteke. A sada evo i procedure:


Procedure EmptyRecycleBin ;
Const
SHERB_NOCONFIRMATION = $00000001 ;
SHERB_NOPROGRESSUI = $00000002 ;
SHERB_NOSOUND = $00000004 ;
Type
TSHEmptyRecycleBin = function (Wnd : HWND;
pszRootPath : PChar;
dwFlags : DWORD
) : HRESULT; stdcall ;
Var
SHEmptyRecycleBin : TSHEmptyRecycleBin;
LibHandle : THandle;
Begin { EmptyRecycleBin }
LibHandle := LoadLibrary(PChar(‘Shell32.dll’)) ;
if LibHandle <> 0 then
@SHEmptyRecycleBin := GetProcAddress(LibHandle,
‘SHEmptyRecycleBinA’)
else
begin
MessageDlg(‘Neuspesno otvaranje
biblioteke Shell32.dll.’, mtError,
[mbOK], 0);
Exit;
end;

if @SHEmptyRecycleBin <> nil then
SHEmptyRecycleBin(Application.Handle, nil,
SHERB_NOCONFIRMATION or
SHERB_NOPROGRESSUI or SHERB_NOSOUND);
FreeLibrary(LibHandle);
@SHEmptyRecycleBin := nil ;
end;

Pratite Krstaricu na www.krstarica.com