首页  编辑  

清空回收站

Tags: /超级猛料/API.Windows应用程序接口/其他相关/   Date Created:

Procedure EmptyRecycleBin ;

 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 ;