清空回收站
 
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;  { EmptyRecycleBin }