This short tip will show you how to delete file to Recycle Bin. We need ShellAPI unit and the rest is very simple.
uses ShellAPI;
.
.
.
...
function DeleteToRecycleBin(const filename : string) : boolean;
var FileOp: TSHFileOpStruct;
begin
if integer(GetFileAttributes(PChar(Filename))) <> -1 then
begin
ZeroMemory(@FileOp, SizeOf(FileOp));
FileOp.wFunc := FO_DELETE;
FileOp.pFrom := PChar(Filename);
FileOp.fFlags := FOF_ALLOWUNDO or FOF_SILENT or FOF_NOCONFIRMATION;
Result:=(SHFileOperation(FileOp)=0);
end
else
Result := False;
end;
The most important part of the code is fFlags. The flag FOF_ALLOWUNDO will do the trick and delete file to Recycle Bin.