Kasowanie plików z przeniesieniem ich do kosza

Standardowe kasowanie plików powoduje ich całkowitą utratę. Aby dać użytkownikowi możliwość ich późniejszego przywrócenia, należy je przenieść do kosza.

Aby po kliknięciu przycisku Button1 skasować pliki wraz z ich przeniesieniem do kosza należy skorzystać z funkcji Windows API SHFileOperation:

Unit1.cpp

#include <shellapi.h>
void __fastcall
TForm1::Button1Click(TObject *Sender)
{
   SHFILEOPSTRUCT fos;
   fos.hwnd = Handle;
   \\operacja kasowania plików
   fos.wFunc = FO_DELETE;
   \\pliki do skasowania
   fos.pFrom = "c:\\windows\\temp\\*.tmp\0";
   \\przeniesienie plików do kosza po ich skasowaniu     
   fos.fFlags = FOF_ALLOWUNDO;
   SHFileOperation(&fos);
}

Przykład ten kasuje wszystkie pliki z rozszerzeniem *.tmp z katalogu c:\windows\temp (należy zwrócić uwagę na podwójny backslash oddzielający katalogi, i na znak końca łańcucha \0 po podaniu nazwy plików do kasowania) wraz z ich przeniesieniem do kosza.