SHFileOperation函数静悄悄地删除指定目录

时间:2021-08-14 15:26:38

    要删除一个目录,看了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) );

}