unit1.pas

来自「在delphi中实现windows核心编程.原书光盘代码核心编程.原书光盘代码」· PAS 代码 · 共 60 行

PAS
60
字号
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls,shellapi;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
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
    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;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?