数据加载中……

用vc api函数实现的删除文件夹的函数代码,可以用来删除非空目录树,也可用来删除单个文件。


//////////////////////////////////////////////////////////////////////////  
//   DelTree  
//   删除一个文件夹  
//   lpszPath   -   要删除的文件夹路径  
//   返回值:成功返回TRUE,否则返回FALSE  
//   备注:亦可用来删除单个文件  
//////////////////////////////////////////////////////////////////////////  

BOOL DelTree(LPCTSTR lpszPath)
{
    SHFILEOPSTRUCT FileOp;
    FileOp.fFlags = FOF_NOCONFIRMATION;
    FileOp.hNameMappings = NULL;
    FileOp.hwnd = NULL;
    FileOp.lpszProgressTitle = NULL;
    FileOp.pFrom = lpszPath;
    FileOp.pTo = NULL;
    FileOp.wFunc = FO_Delete;
    return SHFileOperation(&FileOp) == 0;
}

api函数说明:
SHFileOperation
  
函数功能描述:文件操作,与 Shell 的动作相同。  
  
函数原型:  

#include<shellapi.h>  
  
WINSHELLAPI int WINAPI  SHFileOperation(LPSHFILEOPSTRUCT lpFileOp);  
    
参数:  
  
typedef struct _SHFILEOPSTRUCT  
{  
        HWND            hwnd;   //父窗口句柄  
        UINT            wFunc; //要执行的动作  
        LPCTSTR         pFrom; //源文件路径,可以是多个文件  
        LPCTSTR         pTo;    //目标路径,可以是路径或文件名  
        FILEOP_FLAGS    fFlags; //标志,附加选项  
        BOOL            fAnyOperationsAborted; //是否可被中断  
        LPVOID          hNameMappings;         //文件映射名字,可在其它 Shell 函数中使用  
        LPCTSTR         lpszProgressTitle; // 只在 FOF_SIMPLEPROGRESS 时,指定对话框的标题。  
} SHFILEOPSTRUCT, FAR *LPSHFILEOPSTRUCT;  

posted on 2011-03-22 10:40 Stone xin 阅读(1409) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理