<p>以下のサンプル関数で、ファイルのコピーが可能です。<br />SHFileOpStruct構造体の値を変更することで、移動やゴミ箱に削除などの応用が可能です。<br />Win32 APIなので、文字列はPWideChar (非Unicode環境ではPChar)にキャストしています。</p>
<pre class="brush: delphi" title="SHFileOperationでのファイルコピー例">uses
  ShellAPI;

function FileCopy(Source, Destination: String): boolean;
var
  ShFileOpStruct: TSHFileOpStruct; 
begin
  with ShFileOpStruct do
  begin
    wnd := Application.Handle;
    wFunc := FO_COPY;                     // FO_MOVE であれば、移動になります
{&#36;IFDEF UNICODE}
    pFrom := PWideChar(Source + #0);      // 移動元ファイル名
    pTo := PWideChar(Destination + #0);   // 移動先ファイル名
{&#36;ELSE}
    pFrom := PChar(Source + #0);          // 移動元ファイル名
    pTo := PChar(Destination + #0);       // 移動先ファイル名
{&#36;ENDIF}
    fFlags := FOF_ALLOWUNDO;              // できる限りアンドゥ情報を保持するように
    fAnyOperationsAborted := false;
    hNameMappings := nil;
    lpszProgressTitle := nil;
  end;

  // 正常終了であれば、Trueを返します
  Result := (SHFileOperation(ShFileOpStruct) = 0);
end;
</pre>