TinTin Geschrieben 5. Dezember 2003 Geschrieben 5. Dezember 2003 hi, ich such nach einer c++ funktion, die, wie windows, dateien in den papierkorb löscht. was kann ich da nehmen? danke...TinTin Zitieren
Klotzkopp Geschrieben 5. Dezember 2003 Geschrieben 5. Dezember 2003 SHFileOperation, mit wFunc = FO_DELETE in der SHFILEOPSTRUCT-Struktur. Zitieren
TinTin Geschrieben 5. Dezember 2003 Autor Geschrieben 5. Dezember 2003 hab ich auch gefunden, aber es geht nicht... warscheinlich mal wieder blind... SHFILEOPSTRUCT shfo; CString from = "c:\\4711.txt"; CString to = "c:\\9999.txt"; shfo.wFunc = FO_DELETE; shfo.pFrom = (LPCSTR)from; shfo.pTo = (LPCSTR)to; shfo.fFlags = FOF_FILESONLY | FOF_ALLOWUNDO; shfo.lpszProgressTitle = "löschen!"; SHFileOperation(&shfo); kann mal bitte wer schauen, ich will feierabend...ich weiss ihr bestimmt alle auch. TinTin Zitieren
Klotzkopp Geschrieben 6. Dezember 2003 Geschrieben 6. Dezember 2003 Original geschrieben von TinTin es geht nicht...Das ist eine denkbar schlechte Fehlerbeschreibung... CString from = "c:\\4711.txt"; CString to = "c:\\9999.txt"; // ... shfo.pFrom = (LPCSTR)from; shfo.pTo = (LPCSTR)to; [/CODE] Erwartest du, dass das alle Dateien "von" 4711.txt "bis" 9999.txt löscht? Das geht so nicht. pFrom und pTo geben Quelle und Ziel an. Du kannst aber in pFrom Wildcards (?, *) angeben. Wenn du FO_DELETE machst, muss pTo NULL sein. Außerdem sind pFrom und pTo (wenn es denn gebraucht wird) nicht einfache Strings, sondern Stringlisten, wobei die einzelnen Strings durch Nullzeichen getrennt sind und das Ende durch ein doppeltes Nullzeichen markiert ist. Die Typecasts sind unnötig. Zitieren
TinTin Geschrieben 6. Dezember 2003 Autor Geschrieben 6. Dezember 2003 du hast recht es lag daran, dass pTo nicht NULL war. ich hab noch die entsprechenen flags gesetzt und jetzt funktioniert alles zu meiner zufriedenheit. danke für die hilfe Zitieren
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.