`SHFileOperation` 是一个函数,可以用于执行文件操作,例如复制,移动,重命名和删除文件。以下是使用 `SHFileOperation` 的基本步骤:
1. 包含 `windows.h` 头文件,以及在链接时将 `shell32.lib` 添加到项目中。
```cpp
#include
#pragma comment(lib, "shell32.lib")
```
2. 创建一个 `SHFILEOPSTRUCT` 结构体来指定要执行的操作。
```cpp
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 不显示确认对话框
```
3. 调用 `SHFileOperation` 函数来执行操作。
```cpp
int result = SHFileOperation(&fileOp);
if(result == 0) {
// 操作成功
} else {
// 操作失败
}
```
注意:`SHFileOperation` 函数返回 0 表示操作成功,非零值表示操作失败。