SHFileOperation(A)

ファイルシステムオブジェクトのコピー・移動・名前の変更・削除を行ないます。

int SHFileOperationA(
    LPSHFILEOPSTRUCT pFileOp   // SHFILEOPSTRUCT構造体
);

SHELL32.DLL

引数

pFileOp

実行する操作に関しての情報を格納した SHFILEOPSTRUCT 構造体のアドレスを指定します。

戻り値

成功すると 0 が返ります。

失敗すると 0 以外の値が返ります。

解説

この関数では、パス名を指定するときにフルパスを使用するべきです。相対パス名の使用はスレッドセーフ(複数のスレッドによるアクセスで問題が生じない方法)ではありません。

この関数は、ローカルドライブから、ネットワークパスで指定されるリモートコンピュータへ、特殊フォルダを移動させることはできません。ただし、 CSIDL_PERSONAL ( MyDocs フォルダ)と CSIDL_MYPICTURES ( MyPics フォルダ)の場合は可能です。

この関数をファイルを削除するのに使用する場合、関数はファイルをごみ箱に移そうとします。ファイルをごみ箱に置かずに完全に削除するには、 DeleteFile 関数を使います。

コピーコールバックハンドラが登録されている場合には、この関数の呼び出しで FOF_NOCONFIRMATION フラグを指定しない限り、登録されているハンドラ(ICopyHook インターフェースの CopyCallback メソッド)が呼び出されます。

対応情報

Shell32.dll Version 4.00 以降

Windows 95 以降 / Windows NT 4.0 以降