Fufialk Geschrieben 13. März 2008 Geschrieben 13. März 2008 Ist es möglich die SHFileOperations unter XP zu verwenden? In diversen Foren habe ich immer nur etwas von * Windows 95 * Windows 98 * Windows NT ab Version 4.0 * Windows ME * Windows 2000 gelesen. Was aber meines erachtens daran lag, daß die Posts schon sehr alt waren. Ich habe ein Programm, an welches Dateien per D&D übergeben werden, und die am Ende in unterschiedliche Ordner verschoben werden sollen. Ich erhalte aber immer eine Fehlermeldung, daß ein verschieben nicht möglich ist. Liegt das dann doch an XP? Zitieren
Amstelchen Geschrieben 13. März 2008 Geschrieben 13. März 2008 SHFileOperations klappt unter XP, IIRC. kannst du bitte mal die entsprechenden codezeilen mit initialisierung der parameter und dem aufruf posten? s'Amstel Zitieren
Guybrush Threepwood Geschrieben 13. März 2008 Geschrieben 13. März 2008 Wenn die Funktion unter XP nicht zur Verfügung stehen würde dann könntest du entweder dein Programm nicht linken oder bekämst eine entsprechende Exception zur Laufzeit. Das das Verschieben bei dir also nicht klappt liegt also entweder an deinem Code, System, Rechtevergabe usw. Aber ohne genaue Fehlermeldung und Code bleibt das Ganze ein Ratespiel Zitieren
Fufialk Geschrieben 13. März 2008 Autor Geschrieben 13. März 2008 if (spf_dfile(argv[f]) == true) //Aufruf der Funktion bool spf_dfile (Überprüfung auf Vorhandensein der Datei) { spf_dat (argv[f]); //Aufruf der Unterfunktion spf_dat (eigentliche Datenumwandlung) char verzeichnis [200]; //Rohdatenverzeichnis mkdir(rohdaten); getcwd(verzeichnis,sizeof(verzeichnis)); // ermitteln des aktuellen Verzeichnisses cout << "Verzeichnis: " << verzeichnis << "\n"; //Test //Aus C++ Referenz Kopieren der Rohdatendatei in den entsprechenden //Ordner (SPF\Jahr\KW_WW\Meldung\Rohdaten) und anschließendes Löschen aus Tempverzeichniß) SHFILEOPSTRUCT fos; // SHFILEOPSTRUCT erzeugen memset(&fos, 0, sizeof(fos)); // SHFILEOPSTRUCT mit nullen füllen fos.wFunc = FO_COPY; // Kopieroperation auswählen fos.pFrom = argv[f]; // Ausgangsparameter (Welche Datei soll kopiert werden?) fos.pTo = verzeichnis; // Zielparameter (Wohin soll die Datei kopiert werden?) fos.fFlags = FOF_NOCONFIRMMKDIR; // Flags für Rückgängigmachen und Verzeichniß ohne Nachfrage erstellen SHFileOperation(&fos); // Operation ausführen cout << "\nDie Datei " << argv[f] << " wurde in das Verzeichnis " << verzeichnis << " verschoben."; fos.wFunc = FO_DELETE; // Dateien in Papierkorb verschieben fos.pFrom = argv[f]; // Ausgangsparameter (Welche Datei soll gelöscht werden?) fos.fFlags = FOF_NOCONFIRMATION; // Flags für Rückgängigmachen Operation ohne Nachfrage durchführen SHFileOperation(&fos); // Operation durchführen }; //if[/PHP] So, das ist der Teil um den es geht. Wie gesagt, die Ordner werden angelegt, rechte sind gesetzt etc... 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.