SHFileOperation
是一个函数,可以用于执行文件操作,例如复制,移动,重命名和删除文件。以下是使用 SHFileOperation
的基本步骤:
windows.h
头文件,以及在链接时将 shell32.lib
添加到项目中。#include <windows.h>
#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 表示操作成功,非零值表示操作失败。