Посылаем файл в "корзину" (Recycle Bin)
Автор: thomas johansson
Если пользователь Вашего приложения имеет
возможность удалять файлы, то иногда бывает
необходимо дать ему возможность восстанавливать
ошибочно удалённые файлы.
Совместимость: Delphi (все версии)
Не забудьте добавить ShellAPI в группу uses.
А это сама функция, которая выполняет всю работу:
function RecycleFile(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);
|