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