Dateien kopieren incl. Statusdialog mit Animation



  • Hallo!

    Ich möchte 2 Dateien von A nach B kopieren.
    Da die etwas größer sein können und ggf. auch was überschrieben werden muss, möchte ich gerne die Windows Standardfunktionalität nutzen, wo dieses Papier rumfliegt, ich nen Statusbalken habe und der mich zwecks Überschreiben fragt.

    1.) Wie kopiere ich Dateien?
    2.) Wie kriege ich den Dialog?
    3.) Wartet mein Programm bis der Vorgang fertig ist?
    4.) Wie nehme ich einen Schreibschutz weg?

    PS: Ich habe gerade CopyFile gefunden. Aber das macht afair keinen Dialog. 😞



    1. Wie du selber herausgefunden hast - CopyFile() (alternativ kannst du die Datei auch über Streams oder CFile's öffnen und von Hand umkopieren)
    2. keine Ahnung
    3. Ja, CopyFile() kommt erst zurück, wenn es mit dem Kopieren fertig ist.
    4. Versuch's mal mit SetFileAttributes():
    char* filename = "C:\test.txt";
    DWORD attr = GetFileAttributes(filename);
    SetFileAttributes(filename,attr&~FILE_ATTRIBUTE_READONLY);
    


  • SHFileOperation !?



  • Jochen Kalmbach schrieb:

    SHFileOperation !?

    Muss ich nächste Woche mal gucken.
    Das von CStoll funktioniert aber super (zum Glück hab ich knapp vorm Serverabsturz den Beitrag aufgemacht). 🙂

    Danke!



  • estartu schrieb:

    Jochen Kalmbach schrieb:

    SHFileOperation !?

    Muss ich nächste Woche mal gucken.
    Das von CStoll funktioniert aber super (zum Glück hab ich knapp vorm Serverabsturz den Beitrag aufgemacht). 🙂
    Danke!

    Ich kann dir nur von dem SHFileOperation struct abraten. Ich hatte damit nur trödel und ärger. Benutze doch Funktionen wie CopyFile(). Gibts doch alles schon, warum den so umständlich 🙂

    Grüße,
    inva


Anmelden zum Antworten