Emptying the Recycle Bin
   


To quickly empty the Recycle Bin, use this procedure. This will empty the Recycle Bin without any warnings or sounds.

procedure EmptyRecycleBin;
{ proc to empty the recycle bin. }
const
  SHERB_NOCONFIRMATION = $00000001;
  SHERB_NOPROGRESSUI = $00000002;
  SHERB_NOSOUND = $00000004;
type
  TSHEmptyRecycleBin = function (Wnd: HWND;
  LPCTSTR: PChar;
  DWORD: Word): integer; stdcall;
var
  SHEmptyRecycleBin: TSHEmptyRecycleBin;
  LibHandle: THandle;
begin
  LibHandle := LoadLibrary(PChar('Shell32.dll'));
  if LibHandle <> 0 then
    @SHEmptyRecycleBin := GetProcAddress(LibHandle, 'SHEmptyRecycleBinA')
  else
    begin
      MessageDlg('Failed to load Shell32.dll.', mtError, [mbOK], 0);
      Exit;
    end;

  if @SHEmptyRecycleBin <> nil then
    SHEmptyRecycleBin(Application.Handle,
                      '',
                      SHERB_NOCONFIRMATION or
                      SHERB_NOPROGRESSUI or
                      SHERB_NOSOUND);

  FreeLibrary(LibHandle);
  @SHEmptyRecycleBin := nil;
end;


Blue Orb Software

[email protected]