要删除一个目录,看了RemoveDirectory,只能移除空目录。建议我看SHFileOperation。看看SHFileOperation,果然是个强大的函数。
资源管理器中的文件操作(删除、创建、移动、重命名等)都可以用它来实现。在东集的时候就让一个组员在windows ce操作系统下,做了个个性化的explorer,文件操作用的就是这个函数。
下面的代码可以悄无声息地把一个文件夹干掉(参数为全路径),不显示提示对话框,不显示错误UI,不显示进度条,直接确认操作。通过设置SHFILEOPSTRUCT的fFlags成员可以达到你想要的效果。
bool DeleteDirectorySilent(const TCHAR * szDir)
{
SHFILEOPSTRUCT fo =
{
NULL,
FO_DELETE,
szDir,
NULL,
FOF_SILENT | FOF_NOERRORUI | FOF_NOCONFIRMATION,
FALSE,
NULL,
NULL
};
return ( 0 ==SHFileOperation(&fo) );
}