скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Файл в корзину



MS Windows: Корзина должна быть чиста как совесть!

Не забудьте добавить 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);






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook