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.