RemoveDirectory() 怎么删除 非空目录啊

来源:百度知道 编辑:UC知道 时间:2024/06/23 18:11:27
如题:
删除 空目录 可以
但.....

RemoveDirectory( )只能删除空目录,你可以用递归的办法先删除目录下的文件,然后再删除目录。如果不进行递归删除。你可以使用API函数SHFileOperation,它可以一次删除目录及其下面的子目录和文件。

CString StrSourceFolder="C:\\1";
char SourceFolder[MAX_PATH+1]="";
strcpy(SourceFolder,StrSourceFolder);
SHFILEOPSTRUCT lpFile;
lpFile.hwnd=GetSafeHwnd();
lpFile.wFunc=FO_DELETE;
lpFile.pFrom=SourceFolder;
lpFile.pTo=NULL;
lpFile.fFlags=FOF_ALLOWUNDO;
lpFile.fAnyOperationsAborted=FALSE;
lpFile.hNameMappings=NULL;
lpFile.lpszProgressTitle=NULL;
int ReturnValue=SHFileOperation(&lpFile);
if(ReturnValue==0)
{
if(lpFile.fAnyOperationsAborted==TRUE)
MessageBox("删除文件夹的操作被取消","信息提示",MB_OK+MB_ICONWARNING);
else
MessageBox("删除文件夹操作成功","信息提示",MB_OK+MB_ICONWARNING);
}
else
MessageBox("删除文件夹操作失败","信息提示",MB_OK+MB_ICONEXCLAMATION);

The RemoveDirector