我在使用SHFileOperation
時出現問題:SHFileOperation/SHFILEOPSTRUCT。我得到了這個工作,但我現在試圖把它放到一個函數中,因爲它會在我的代碼中多次使用。該功能是:系統錯誤124 - 使用SHFileOperation的ERROR_INVALID_LEVEL
void SHFileOperationFunc(string item1, string item2, int operation)
{
SHFILEOPSTRUCT sf;
memset(&sf,0,sizeof(sf));
sf.hwnd = 0;
sf.fFlags = FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR | FOF_NOERRORUI;
switch(operation)
{
case 1:
case 2:
sf.wFunc = FO_COPY;
string files = item1 + "\\*.*";
files.append(1, '\0');
sf.pFrom = files.c_str();
item2.append(1, '\0');
sf.pTo = item2.c_str();
}
int opOkay = SHFileOperation(&sf);
if(opOkay != 0)
{
//FAIL
}
}
當我有以外的功能代碼它工作得很好。但現在,它是如上所述,我得到一個錯誤返回opOkay。錯誤值是124,這意味着ERROR_INVALID_LEVEL - 系統調用級別不正確。我不知道這是什麼意思。谷歌也沒有很多幫助。任何人都能啓發我嗎?
我也應該使用SHFileOperation
或應該使用IFileOperation
?
乾杯。
錯誤代碼124 = 0x7c = ['DE_INVALIDFILES'(源或目的地或兩者中的路徑無效)](http://msdn.microsoft.com/en-us/library/windows/desktop/bb762164 %28V = vs.85%29.aspx)。 – 2012-02-08 14:10:24
@ RaymondChen,這是我的混淆。你可以發佈這個答案嗎? – 2015-12-21 08:55:00