MFC Shell文件操作SHFileOperation

MFC
347
2023/9/15 9:14:49
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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静态链接库。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: mfc如何设置窗口透明