uses ShellApi;
function papierkorb(pfad: string): integer;
var sfo: tshfileopstruct;
lg: integer;
begin
try
lg := length(pfad);
if pfad[lg] = '\' then delete(pfad, lg, 1);
fillchar(sfo, sizeof(sfo), 0);
with sfo do begin
wnd := application.handle;
wfunc := fo_delete;
fflags := fof_silent or fof_noconfirmation or fof_allowundo;
pfrom := pchar(pfad + #0#0);
end;
result := shfileoperation(sfo);
except
result := -1;
end;
end;
// Beispielaufruf für einen Ordner
procedure TForm1.Button2Click(Sender: TObject);
begin
if papierkorb('C:\TESTORDNER') <> 0 then showmessage('Fehler!');
end;
// Beispielaufruf für Dateien
procedure TForm1.Button1Click(Sender: TObject);
var d1, d2, d3, ges: string;
begin
d1 := 'C:\temp\test1.diz';
d2 := 'D:\test2.diz';
d3 := 'C:\test3.diz';
ges := d1 + #0 + d2 + #0 + d3 + #0;
if papierkorb(ges) <> 0 then showmessage('Fehler!');
end;