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 }
|