SHFileOperation関数の使い方
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を設定する際には、複数のファイルやフォルダの区切りとして、2つの空の文字(NULL)を使用する必要があります。
SHFileOperation関数の基本的な使い方について説明しました。具体的な要件に応じて、パラメータの設定やエラー処理を行うことができます。