int SHFileOperationA(
[in, out] LPSHFILEOPSTRUCTA lpFileOp
);
typedef struct _SHFILEOPSTRUCTA {
HWND hwnd;
UINT wFunc;
PCZZSTR pFrom;
PCZZSTR pTo;
FILEOP_FLAGS fFlags;
BOOL fAnyOperationsAborted;
LPVOID hNameMappings;
PCSTR lpszProgressTitle;
} SHFILEOPSTRUCTA, *LPSHFILEOPSTRUCTA;
头文件shellapi.h
使用SHFileOperation可以删除文件夹以及包含的子文件
SHFILEOPSTRUCT FileOp={0};
FileOp.fFlags = FOF_NOCONFIRMATION;//不出现确认对话框 加上FOF_ALLOWUNDO标志是可以放入回收站
FileOp.pFrom = L"要删除的路径";
FileOp.pTo = NULL;
FileOp.wFunc = FO_DELETE;//删除操作
SHFileOperation(&FileOp);
除此之外,仅仅设置不同的SHFILEOPSTRUCT结构体,调用SHFileOperation函数就可以实现拷贝、删除、移动等文件操作