我試圖複製一個目錄到一個新的位置。所以我使用SHFileOperation/SHFILEOPSTRUCT如下:SHFileOperation/SHFILEOPSTRUCT
SHFILEOPSTRUCT sf;
memset(&sf,0,sizeof(sf));
sf.hwnd = 0;
sf.wFunc = FO_COPY;
dirName += "\\*.*";
sf.pFrom = dirName.c_str();
string copyDir = homeDir + "\\CopyDir";
sf.pTo = copyDir.c_str();
sf.fFlags = FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR | FOF_NOERRORUI;
int n = SHFileOperation(&sf);
if(n != 0)
{
int x = 0;
}
所以我設置爲上述值。我在文件夾中創建了一個文件(我已經關閉了句柄,因此它應該可以移動)。 SHFileOperation調用返回2,但我無法找到解釋這些錯誤代碼的地方。有沒有人知道我在哪裏可以找到2意味着什麼,或者有沒有人有任何想法,爲什麼它可能不工作?乾杯
雙空終止。所以我在每個結尾添加一個\ 0? – discodowney 2012-02-08 10:42:39
基本上,是的。 – hmjd 2012-02-08 10:55:07
它沒有任何區別。我仍然從SHFileOperation得到2。這兩個文件夾都存在,並且pFrom文件夾中有一個文件,所以我不知道它無法找到哪個文件。 – discodowney 2012-02-08 10:58:24