发布时间:2025-12-11 02:10:13 浏览次数:2
SHFileOperation是一个Windows API函数,用于执行文件操作,例如复制、移动、重命名、删除等。下面是使用SHFileOperation函数的基本用法:
包含头文件和链接库:#include <Windows.h>#pragma comment(lib, "shell32.lib")定义SHFILEOPSTRUCT结构体,并设置相关参数:SHFILEOPSTRUCT fileOp;ZeroMemory(&fileOp, sizeof(fileOp));fileOp.hwnd = NULL; // 窗口句柄,可以为空fileOp.wFunc = FO_COPY; // 指定操作类型,例如复制、移动、删除等fileOp.pFrom = sourceFilePath; // 源文件路径,可以是多个文件或文件夹,用空字符分隔fileOp.pTo = destinationFilePath; // 目标文件路径,可以是目录或文件fileOp.fFlags = FOF_ALLOWUNDO | FOF_NOCONFIRMATION; // 设置选项,例如允许撤销、不显示确认对话框等调用SHFileOperation函数执行文件操作:int result = SHFileOperation(&fileOp);if (result == 0) { // 操作成功} else { // 操作失败,可以通过返回值和GetLastError函数获取错误信息 DWORD error = GetLastError();}注意事项:
在使用SHFileOperation函数之前,需要确保操作系统已经初始化。在使用SHFileOperation函数之后,需要检查返回值来确定操作是否成功。在设置fileOp.fFlags时,可以使用多个选项,用逻辑或操作符(|)连接。在设置fileOp.pFrom和fileOp.pTo时,需要使用双空字符(NULL)作为多个文件或文件夹的分隔符。