SHFileOperation
是一个函数,可以用于执行文件操作,例如复制,移动,重命名和删除文件。以下是使用 SHFileOperation
的基本步骤:
- 包含
windows.h
头文件,以及在链接时将shell32.lib
添加到项目中。
#include#pragma comment(lib, "shell32.lib")
- 创建一个
SHFILEOPSTRUCT
结构体来指定要执行的操作。
SHFILEOPSTRUCT fileOp; ZeroMemory(&fileOp, sizeof(SHFILEOPSTRUCT)); fileOp.hwnd = NULL; fileOp.wFunc = FO_COPY; // 设置操作类型,例如 FO_COPY 复制,FO_MOVE 移动 fileOp.pFrom = sourcePath; // 设置源文件路径,可以是多个文件或文件夹,以空字符结尾 fileOp.pTo = destinationPath; // 设置目标文件夹路径,以空字符结尾 fileOp.fFlags = FOF_ALLOWUNDO | FOF_NOCONFIRMATION; // 设置标志,例如 FOF_ALLOWUNDO 允许撤消操作,FOF_NOCONFIRMATION 不显示确认对话框
- 调用
SHFileOperation
函数来执行操作。
int result = SHFileOperation(&fileOp); if(result == 0) { // 操作成功 } else { // 操作失败 }
注意:SHFileOperation
函数返回 0 表示操作成功,非零值表示操作失败。