VCpp删除文件夹

⌚Time: 2022-10-20 14:56:10

👨‍💻Author: Jack Ge


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函数就可以实现拷贝、删除、移动等文件操作