whizzle Geschrieben 7. Januar 2002 Teilen Geschrieben 7. Januar 2002 Hallo Z'sam und 'n frohes neues, bei mir will die Funktion "RemoveDirectory()" unter W2k nicht so, wie ich will! Mein Prog durchsucht erstmal eine Verzeichnisstruktur auf einem Laufwerk. Dabei werden die gefundenen Dateien zusammen mit den jeweiligen Unterverzeichnissen als Strings gespeichert. In einem zweiten Schritt starte ich (wohlgemerkt NACH dem Durchsuchen der Verzeichnisse!) einen Thread, der die Verzeichnisse mit "SetCurrentDirectory("blabla")" betritt, überprüft, ob noch Dateien vorhanden sind, und - falls nein - zurückgeht (SetCurrentDirectory("..")) und das Verzeichnis löscht: RemoveDirectory("blabla"). Leider schlägt die Funktion immer fehl, und zwar bei anscheinend allen Verzeichnissen. "GetLastError()" meldet Fehler #32, d.h. ein andere Prozess hat noch Zugriff auf das jeweilige Verzeichnis. Allerdings habe ich alle Programme geschlossen (außer VC 6.0 und mein Prog). Mein Progrämmchen speichert aber doch nur die Verzeichnisnamen als Strings, hat also nix mehr mit denen am Hut. Gibt es eine Möglichkeit herauszufinden, wer noch Zugriff hat bzw. diesen zu unterbrechen und die Verzeichnisse zu entfernen? Gruß und besten Dank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
whizzle Geschrieben 7. Januar 2002 Autor Teilen Geschrieben 7. Januar 2002 Hat sich erledigt. Hatte in einem anderen Thread vergessen, einen Handle freizugeben... Gruß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 7. Januar 2002 Teilen Geschrieben 7. Januar 2002 Fileerrors werfen IOExceptions. Das Programm hätte ich vorher in einen Try-catch-block eingerahmt und dann die exception einfach mal abgefangen, bestimmt hätte man da mehr Infos draus ziehen können. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.