Moin Almond,
ich hab' Dir hier mal ein kleines Beispiel für das Kopieren gemacht (ungetestet):
(ohne Prüfung, ob Quelle und Ziel auch so sein können)
Delphi-Quellcode:
uses Shellapi;
// True wenn erfolgreich, sonst false
function csCopyFile(const AsFrom : string;const AsTo : string) : boolean;
var
fos : TSHFileOpStruct;
begin
FillChar(fos,SizeOf(fos),0); // Datenstruktur auf 0 initialisieren
fos.wFunc := FO_COPY; // Datei kopieren
fos.pFrom := PChar(AsFrom+#00); // von
fos.pTo := PChar(AsTo+#00); // nach. Jeweils +#00, da es auch eine Liste sein könnte
// deren einzelne Angaben durch #00 getrennt werden.
// Es wird ein, die Liste abschliessendes, #00 benötigt.
fos.fFlags := FOF_NOCONFIRMATION or // Keine Rückfragen, immer mit "Ja" antworten
FOF_NOCONFIRMMKDIR or // Verzeichnis ohne Rückfrage erstellen falls erforderlich
FOF_NOERRORUI or // Fehlermeldungen unterdrücken
FOF_RENAMEONCOLLISION or // Zieldatei automatisch umbenennen, falls sie schon existiert
FOF_SILENT; // Anzeige des Kopierfortschritts unterdrücken
Result := SHFileOperation(fos) = 0;
end;
In der CodeLib müsstest Du auch eine recht allgemein gehaltene Kapselung von
SHFileOperation finden können.