Ordner inkl. Inhalt mit SHFileOperation kopieren...
-
Ich versuche verzweifelt einen Ordner inkl. Inhalt zu kopieren.
Leider wird lediglich der Ordner testNeu angelegt, der Inhalt aber nicht kopiert.
Bin sehr unerfahren was C++ und programmieren angeht und hoffe auf eure Hilfe.
So sieht der Code bisher aus:
std::string OldPath=aktuellesVerzeichnis+"\\test\\"; std::string NewPath=aktuellesVerzeichnis+"\\testNeu\\"; NewPath+="\0\0"; OldPath+="\0\0"; SHFILEOPSTRUCTA shFileOp={NULL, FO_COPY, OldPath.c_str(),NewPath.c_str(),FOF_NOCONFIRMMKDIR,FALSE,NULL,"Kopiere..."}; SHFileOperationA(&shFileOp);
Viele Grüße
-
Dieser Thread wurde von Moderator/in Arcoth aus dem Forum C++ (alle ISO-Standards) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
SHFILEOPSTRUCT FileOp; ZeroMemory(&FileOp, sizeof(FileOp)); FileOp.wFunc = FO_COPY; FileOp.pFrom = "test\\*\0"; FileOp.pTo = "testNeu\0"; FileOp.fFlags = FOF_NOCONFIRMMKDIR; FileOp.lpszProgressTitle = "Kopiere..."; SHFileOperation(&FileOp);
-
Hab schon etwas geschmunzelt als ich den Namen gesehen habe .
Habe den Code wie folgt geändert:
std::string OldPath=aktuellesVerzeichnis+"\\test"; std::string NewPath=aktuellesVerzeichnis+"\\testNeu"; NewPath+="\0"; OldPath+="\\*\0"; SHFILEOPSTRUCTA copyFolder; ZeroMemory(©Folder,sizeof(SHFILEOPSTRUCTA)); copyFolder.hwnd=NULL; copyFolder.wFunc=FO_COPY; copyFolder.pFrom=OldPath.c_str(); copyFolder.pTo=NewPath.c_str(); copyFolder.fFlags= FOF_NOCONFIRMMKDIR; SHFileOperationA(©Folder);
Habe immer noch das Problem, dass ein leerer Ordner testNeu erstellt wird, aber die Daten aus test nicht kopiert werden.
-
doppelt Nullterminiert...
also:std::string OldPath=aktuellesVerzeichnis+"\\test"; std::string NewPath=aktuellesVerzeichnis+"\\testNeu"; NewPath+="\\\0\0"; OldPath+="\\*\0\0"; SHFILEOPSTRUCTA copyFolder; ZeroMemory(©Folder,sizeof(SHFILEOPSTRUCTA)); copyFolder.hwnd=NULL; copyFolder.wFunc=FO_COPY; copyFolder.pFrom=OldPath.c_str(); copyFolder.pTo=NewPath.c_str(); copyFolder.fFlags= FOF_NOCONFIRMMKDIR; SHFileOperationA(©Folder);
Das müßte funzen, ansonsten fress' ich ein Besen...