用Delphi编程实现清空回收站功能

用Delphi编程实现清空回收站功能,第1张

用Delphi编程实现清空回收站功能,第2张

这个程序演示了如何通过程序清除空回收站。
在表单中添加一个TButton组件,用于激活清空空回收站的操作。

首先,在程序的实现部分定义三个常量和一个类型声明,代码如下:


const
SHERB _ no confirmation = $ 00000001;
SHERB _ no progressui = $ 00000002;
SHERB _ no sound = $ 00000004;
type
TSHEmptyRecycleBin =
function(Wnd:HWND;LPCTSTR:PChar;DWORD:Word):整数;stdcall

在程序运行之初,程序会先通过LoadLibrary函数加载动态链接库Shell32.dll,并将加载的操作句柄存储在LibHandle中。然后通过@ SHEmptyRecycleBin:= getProcAddress(lib handle,' SHEmptyRecycleBin ')语句读取SHEmptyRecycleBin函数的地址。如果上面的语句可以正确执行(即@ shemptyrecyclebin不等于nil),那么调用shemptyrecyclebin完成清空空回收站的操作。最后,发布动态链接库。响应代码如下:

程序TForm1。Button1Click(发件人:to object);
var
SHEmptyRecycleBin:TSHEmptyRecycleBin;
lib handle:thand le;
begin
lib handle:= LoadLibrary(PChar(' shell 32 . dll ');
if lib handle 0 then
begin
@ SHEmptyRecycleBin:= GetProcAddress(lib handle,' SHEmptyRecycleBinA ');
end
else
begin
MessageDlg('未能加载Shell32.dll,mtError,[mbOK],0);
退出;
end;
如果@SHEmptyRecycleBin为nil,则
begin
SHEmptyRecycleBin(应用程序。Handle ' '、SHERB_NOCONFIRMATION或
SHERB_NOPROGRESSUI或SHERB _ no sound);
end;
free library(lib handle);
@ SHEmptyRecycleBin:= nil;
end;
程序代码如下:
unit unit 1;
接口
使用
窗口、消息、系统工具、变体、类、图形、控件、表单、
对话框、StdCtrls
type
t form 1 = class(t form)
button 1:t button;
过程按钮1Click(发件人:to object);
私有
{私有声明}
公共
{公共声明}
end;
var
form 1:t form 1;
实现
const
SHERB _ no confirmation = $ 00000001;
SHERB _ no progressui = $ 00000002;
SHERB _ no sound = $ 00000004;
type
TSHEmptyRecycleBin = function(Wnd:HWND;LPCTSTR:PChar;DWORD:Word):整数;stdcall
{$R *。dfm}
过程TForm1。Button1Click(发件人:to object);
var
SHEmptyRecycleBin:TSHEmptyRecycleBin;
lib handle:thand le;
begin
lib handle:= LoadLibrary(PChar(' shell 32 . dll ');
if lib handle 0 then
begin
@ SHEmptyRecycleBin:= GetProcAddress(lib handle,' SHEmptyRecycleBinA ');
end
else
begin
MessageDlg('未能加载Shell32.dll,mtError,[mbOK],0);
退出;
end;
如果@SHEmptyRecycleBin为nil,则
begin
SHEmptyRecycleBin(应用程序。Handle ' '、SHERB_NOCONFIRMATION或SHERB_NOPROGRESSUI或SHERB _ no sound);
end;
free library(lib handle);
@ SHEmptyRecycleBin:= nil;
end;
结束。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 用Delphi编程实现清空回收站功能

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情