Dateien+Verzeichnisse - Löschen über den Papierkorb



  • bool __fastcall TForm1::DeleteFile(AnsiString FileName)
    {
        SHFILEOPSTRUCT FileOPStruct;
    
        // An den Dateinamen noch eine zusätzliche '\0' anhängen,
        // da mehrere Dateinamen durch '\0' getrennt zulässig sind
        // das Ende der Liste durch eine Doppel-NULL bzw. Leerstring
        // gekennzeichnet sein muss.
        FileName+='\0';
    
        FileOPStruct.hwnd=NULL;
        FileOPStruct.wFunc=FO_DELETE;
        FileOPStruct.pFrom=FileName.c_str();
        FileOPStruct.pTo=NULL;
        // Folgende Flags sind in shellapi.h definiert
        // FOF_NOCONFIRMATION   = Kein User-Prompt anzeigen
        // FOF_NOERRORUI        = Keine Fehlermeldung anzeigen
        // FOF_ALLOWUNDO        = Löschen über Papierkorb
        // FOF_SILENT           = Keine Fortschrittsanzeige
        FileOPStruct.fFlags=FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_ALLOWUNDO | FOF_SILENT;
        FileOPStruct.hNameMappings=NULL;
        FileOPStruct.lpszProgressTitle=NULL;
    
        if(SHFileOperation(&FileOPStruct))
            return(false); // Löschen fehlgeschlagen
        else
            return(true); // Datei wurde gelöscht
    }
    

    [ Dieser Beitrag wurde am 02.03.2002 um 21:57 Uhr von Jansen editiert. ]


Anmelden zum Antworten