MFC(Microsoft Foundation Classes)是一個C++類庫,用于開發Windows應用程序。SHFileOperation是MFC中的一個函數,用于執行文件操作,例如復制、移動、重命名和刪除文件和文件夾。
使用SHFileOperation函數,首先需要創建一個SHFILEOPSTRUCT結構體對象,并設置其成員變量的值。然后調用SHFileOperation函數,將這個結構體對象作為參數傳遞給函數。函數執行完畢后,可以根據返回值判斷操作是否成功。
下面是一個示例代碼,演示了如何使用SHFileOperation函數進行文件復制操作:
#include <afx.h>
#include <Shlwapi.h>
int main()
{
// 初始化MFC
AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0);
// 創建SHFILEOPSTRUCT結構體對象
SHFILEOPSTRUCT fileOp;
ZeroMemory(&fileOp, sizeof(SHFILEOPSTRUCT));
// 設置成員變量的值
fileOp.wFunc = FO_COPY; // 復制操作
fileOp.pFrom = _T("C:\\source.txt"); // 源文件路徑
fileOp.pTo = _T("C:\\destination.txt"); // 目標文件路徑
fileOp.fFlags = FOF_NOCONFIRMATION; // 不顯示確認對話框
// 執行文件復制操作
int result = SHFileOperation(&fileOp);
if (result == 0)
{
// 操作成功
MessageBox(NULL, _T("文件復制成功!"), _T("提示"), MB_OK);
}
else
{
// 操作失敗
MessageBox(NULL, _T("文件復制失敗!"), _T("提示"), MB_OK);
}
return 0;
}
上述示例中,將source.txt文件復制到destination.txt文件,如果復制成功,則彈出一個提示框顯示“文件復制成功!”;如果復制失敗,則彈出一個提示框顯示“文件復制失敗!”。
需要注意的是,SHFileOperation函數需要鏈接Shlwapi.lib庫才能使用。此外,還可以根據需要設置SHFILEOPSTRUCT結構體的其他成員變量,以實現不同的文件操作功能。詳細的參數和用法可以參考相關文檔或頭文件聲明。