删除文件夹(非空目录)的vc代码

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

删除文件夹的vc代码如下:

//////////////////////////////////////////////////////////////////////////  
//   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;  


[本日志由 cnfgg 于 2009-09-18 05:46 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: vc 文件夹 代码
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.