Problem mit SHFILEOPSTRUCT unter Windows 2000
-
Hallo Leutle,
habe folgendes Problem. Will in meinem C++ Builder Projekt Dateien/Ordner kopieren. Habe dazu folgende Funktion genutzt. Solange ich das ganze mit meinem WindowsXP Rechner teste funktioniert alles einwandfrei. Aber sobald ich das Programm auf einem Windows2000 Rechner laufen lasse, stürzt der Rechner ab, sobald ich an diese Kopierfunktion gelange.
[code]void ordner_kopieren(AnsiString quelle_ansi, AnsiString ziel_ansi) { quelle_ansi+= '\0'; ziel_ansi+= '\0'; SHFILEOPSTRUCT myFileOp; ZeroMemory(&myFileOp, sizeof(myFileOp)); myFileOp.hwnd = 0; myFileOp.wFunc =FO_COPY ; // Hier der Ordner myFileOp.pFrom = quelle_ansi.c_str(); myFileOp.pTo = ziel_ansi.c_str(); // Hier kommt ob oder wie ein Dialog angezeigt wird. myFileOp.fFlags = 0; myFileOp.lpszProgressTitle = "Ordner kopieren"; }[/code]Ich habe nun schon folgendes probiert und für die Parameter...
myFileOp.pFrom = "C:\\test.txt\0";
myFileOp.pTo = "C:\\test\0";
eingegeben. Und siehe da es klappt! Aber wieso? Was mache ich sonst falsch?Wäre super, wenn da jemand eine Idee hat.
Gruß Guido

-
*runterleier*
Standard-C++ kennt kein SHFILEOPSTRUCT, AnsiString oder ZeroMemory. Wie schon zig hundert Leute vor dir solltest du dich daher im richtigen Forum (WinAPI) erkundigen und bitte die mit wichtig gekennzeichneten Threads in diesem Forum lesen bevor du die nächste Frage postest.