Veröffentlicht 5. Dezember 200321 j hi, ich such nach einer c++ funktion, die, wie windows, dateien in den papierkorb löscht. was kann ich da nehmen? danke...TinTin
5. Dezember 200321 j 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
6. Dezember 200321 j 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.
6. Dezember 200321 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.