阅读量:4
MFC Shell文件操作SHFileOperation函数是一个用于文件操作的函数,它可以实现复制、移动、删除文件、创建文件夹等操作。下面是一个使用SHFileOperation函数进行文件复制的示例代码:
#include <afx.h> #include <afxwin.h> #include <Shlobj.h> #include <ShellAPI.h> int main() { // 初始化MFC AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0); // 设置操作参数 SHFILEOPSTRUCT fileOp; ZeroMemory(&fileOp, sizeof(fileOp)); fileOp.wFunc = FO_COPY; fileOp.pFrom = _T("C:\\Path\\To\\SourceFile.txt\0"); // 源文件路径 fileOp.pTo = _T("C:\\Path\\To\\Destination\0"); // 目标文件夹路径 fileOp.fFlags = FOF_FILESONLY; // 仅复制文件,不复制文件夹 // 执行文件复制操作 int result = SHFileOperation(&fileOp); // 检查操作结果 if (result == 0) { // 操作成功 AfxMessageBox(_T("文件复制成功")); } else { // 操作失败 AfxMessageBox(_T("文件复制失败")); } return 0; }
在上面的示例代码中,我们首先调用AfxWinInit函数来初始化MFC。然后,我们定义了一个SHFILEOPSTRUCT结构体,设置了文件操作的参数,包括操作类型、源文件路径、目标文件夹路径和标志位。最后,我们调用SHFileOperation函数执行文件复制操作,并根据返回值来判断操作结果。
需要注意的是,使用MFC Shell文件操作函数需要在程序中包含afx.h、afxwin.h、Shlobj.h和ShellAPI.h这些头文件,并且需要初始化MFC框架。此外,还需要将编译选项设置为使用MFC静态链接库。