SHFileOperation 这个API函数怎么用起来结果飘忽不定?

清泛原创
SHFileOperation方法有时不起作用,用起来结果飘忽不定,路径末尾加上'\0'也一样,笔者亲测,删除有时成功有时失败。

解决:
改用C++的FindNextFile,支持 * 通配符查找文件,核心代码如下:
WIN32_FIND_DATA FindFileData;
char szCurPath[MAX_PATH + 1] = { 0 };
GetCurrentDirectory(MAX_PATH, szCurPath);
CString findFileName;
findFileName.Format("%stest*.txt", szCurPath);

HANDLE hFind = ::FindFirstFile(findFileName, &FindFileData);
if(INVALID_HANDLE_VALUE != hFind)
{
       do {                        
             findFileName.Format("%s%s", szCurPath, FindFileData.cFileName);
             DeleteFile(findFileName);
       } while(FindNextFile(hFind, &FindFileData));

       FindClose(hFind);
}

SHFileOperation

分享到:
评论加载中,请稍后...
创APP如搭积木 - 创意无限,梦想即时!
回到顶部