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 表示操作成功,非零值表示操作失败。