-
-
[求助]SHFileOperation在WIN7上跟XP上的区别?
-
-
[求助]SHFileOperation在WIN7上跟XP上的区别?
想重命名一个文件(夹)用了SHFileOperation函数
测试代码:
TCHAR oldFileName[MAX_PATH]={0};
TCHAR newFileName[MAX_PATH]={0};
lstrcpy(oldFileName,_T("C:\\3.txt"));
lstrcpy(newFileName,_T("C:\\6.txt"));
SHFILEOPSTRUCT FileOp={0};
FileOp.pFrom=oldFileName;
FileOp.fFlags=FOF_NOCONFIRMATION;
FileOp.pTo=newFileName;
FileOp.wFunc=FO_RENAME;
FileOp.hwnd=NULL;
UINT RenameErrorCode=SHFileOperation(&FileOp);
if(0==RenameErrorCode)
{
MessageBox(_T("重命名成功!"));
}
else
{
MessageBox(_T("重命名失败"));
}
试验结果:
1 XP上如果本身c:\6.txt存在的情况下会弹出窗口表面重命名失败;
2 WIN7上本身c:\6.txt存在的情况下却返回重命名成功。
不知道WIN7是怎么搞的,按理说应该失败才对,请问这里是啥情况,如何让在WIN7上也出现跟XP一样的效果---重命名失败呢?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)