Win32 删除非空目录
时间:2011-05-02 来源:莫压枯枯地
DeleteFile(); //这是删除文件的win32 API
RemoveFile(); //这是删除空目录的win32 API(注意,如果目录不为空的话,这个函数将执行失败)
如果目录不为空的话,我知道的有两种方法删除:
1.调用命令行
system("rmdir /s /q dirname"); //dirname是要删除的目录名称,这种方式,在使用MFC程序的时候出闪过一个CMD的窗口
/s是级联删除 /q 是不提示(在命令行下操作的话,如果不加这个开关,会有提示确认是否删除目录,而在程序中不允许停下)
2.使用win32 API
//删除当前目录下的tempDir目录(子目录也将一并删除)
SHFILEOPSTRUCT FileOp;
FileOp.fFlags = FOF_NOCONFIRMATION;
FileOp.hNameMappings = NULL;
FileOp.hwnd = NULL;
FileOp.lpszProgressTitle = NULL;
FileOp.pFrom = ".\\tempDir";
FileOp.pTo = NULL;
FileOp.wFunc = FO_DELETE;
SHFileOperation(&FileOp);
相关阅读 更多 +