?
Beispiel:
Ansatz 4: Löschen wie Windows selber - inkl. Papierkorb
Die vierte vorgestellte Möglichkeit brilliert vor allem durch einen besonderen Vorteil: Mithilfe des Windows API können Sie nicht nur einen Verzeichnisbaum komplett löschen. Sie können sogar Verzeichnisse und / oder Dateien sogar in den Windows-Papierkorb verschieben, statt sie unwiederbringlich zu löschen.
Hierfür verwenden Sie die API-Funktion SHFileOperation, die auch der Windows Explorer selber für Dateioperationen wie Kopieren, Verschieben, Umbenennen und Löschen verwendet.
Die Steuerung dieser Funktion erfolgt über eine Struktur vom Typ SHFILEOPSTRUCT. In ihrem Element wFunc wird dabei die Art der gewünschten Operation angegeben: Für das Löschen wird hier die Konstante FO_DELETE übergeben. Im Element pFrom wird der zu löschende Verzeichnispfad angegeben; er wird zusätzlich mit zwei vbNullChar-Zeichen abgeschlossen. Schließlich wird über den Parameter fFlags das Aussehen und Verhalten der Operation bestimmt: In diesem Fall soll keine Benutzerinteraktion erfolgen (FOF_SILENT Or FOF_NOCONFIRMATION Or FOF_NOERRORUI). Durch Hinzufügen der Konstanten FOF_ALLOWUNDO zu fFlags wird bewirkt, dass der Verzeichnispfad nicht unwiederbringlich gelöscht, sondern in den Windows Papierkorb verschoben wird.
Lief der Aufruf von SHFileOperation erfolgreich ab, so returniert die Funktion den Wert 0. Dem Parameter fAnyOperationsAborted der SHFILEOPSTRUCT-Struktur kann nach der Rückkehr der Funktion entnommen werden, ob vorgesehene Dateioperationen während der Ausführung der Funktion abgebrochen wurden. Trägt der Parameter den Wert 0, war die Ausführung vollständig.
' --- Notwendige API-Deklarationen ---