Не забудьте добавить ShellAPI в группу uses.
А это сама функция, которая выполняет всю работу:
functionRecycleFile(sFileName: string
): Boolean; var
FOS: TSHFileOpStruct; begin
FillChar(FOS, SizeOf(FOS), 0); with
FOS do
begin
wFunc := FO_DELETE; { так же можно использовать FO_COPY. pFrom := PChar(sFileName); pTo := { только для FO_COPY } fFlags := FOF_ALLOWUNDO; { Так как мы хотим послать файл в корзину } end
;
// Отправляем файл Result := (SHFileOperation(FOS) = 0); end;
// Пример вызова функции: RecycleFile('E:Test.exe' + #0); // либо, если изменить строку // pFrom:=PChar(sFileName+#0); , // то можно вызывать проще: RecycleFile(Filename);