Per cancellare una cartella non-vuota devi prima svuotarla, per cui dovrai scrivere una procedura ricorsiva che impieghi le API FindFirstFile/FindNextFile/FindClose per leggere il contenuto della cartella, DeleteFile per cancellare i file e RemoveDirectory per rimuovere le directory vuote. Un'alternativa è utilizzare la API SHFileOperation, specificando nella struttura SHFILEOPSTRUCT in wFunc il valore FO_DELETE.