SHFileOperation schlägt fehl
-
Hallo. Ich bin ziemlich fertig mit den Nerven. Ich habe ein Programm geschrieben, dass einwandfrei unter Windows 98 funktioniert. In diesem Programm wird unter anderem in bestimmten Abständen ein Ordner gelöscht. Die Funktion zum Löschen des Ordners sieht so aus:
bool delete_dir(std::string src) { SHFILEOPSTRUCT shf; shf.hwnd = NULL; shf.wFunc = FO_DELETE; shf.pFrom = src.c_str(); shf.pTo = ""; shf.fFlags = 0;//FOF_NOERRORUI | FOF_SILENT | FOF_NOCONFIRMATION; SHFileOperation(&shf); return true; }Unter Windows XP kommt immer die Fehlermeldung:
"Fehler beim Löschen der Datei oder des Ordners. Datei kann nicht gelöscht werden: Die Quelldatei oder vom Quelldatenträger kann nicht gelesen werden."Im Windows-Explorer lässt sich der Ordner aber sehr wohl ohne Probleme löschen. Unter Windows 98 geht es immer.
Vielen Dank schonmal im Voraus für alle Antworten...
-
Bei mir läufts. (WinXP SP2)
Die Meldung kriege ich nur wenn der Ordner nicht existiert.
Aber beachte das man pFrom mit 2 \0 Zeichen abschließen muss und setze pTo lieber auf NULL.
-
Danke, hat geklappt
