...empty recycle bin?

Author: Simon Grossenbacher
Homepage: http://www.swissdelphicenter.ch

Category: System

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('Failed to load 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;



procedure TForm1.Button1Click(Sender: TObject);
begin
  
EmptyRecycleBin;
end;


{
 Minimum operating systems: Windows XP/2000, Windows NT 4.0 with Internet Explorer 4.0,
                            Windows 98, Windows 95 with Internet Explorer 4.0
 (shell32.dll version 4.71 or later)
}

 

printed from
www.swissdelphicenter.ch
developers knowledge base