|
分類:[C#]
以前こちらで子プロセスでファイルコピーしたい と投稿したところ、 SHFileOperationでコピーできる方法を教えていただきました。 ただ、コピー先に重複するファイルがあった場合、強制的に上書きになってしまいます。 フラグ値を見ると「警告出さずに上書きする」ってのがあったのですが、逆がありません。 記載したコードはサンプルのまんまです(どのサイトをみても同じようなサンプルでした)
var lpFileOp64 = new SHFILEOPSTRUCT64();
lpFileOp64.hwnd = lpFileOp.hwnd;
lpFileOp64.wFunc = lpFileOp.wFunc;
lpFileOp64.pFrom = lpFileOp.pFrom;
lpFileOp64.pTo = lpFileOp.pTo;
lpFileOp64.fFlags = lpFileOp.fFlags;
lpFileOp64.fAnyOperationsAborted = lpFileOp.fAnyOperationsAborted;
lpFileOp64.hNameMappings = lpFileOp.hNameMappings;
lpFileOp64.lpszProgressTitle = lpFileOp.lpszProgressTitle;
int result = SHFileOperation64(ref lpFileOp64);
出したいダイアログはエクスプローラでファイルコピーした時にでる「ファイルの置換またはスキップ」ってやつです。
賢者の方、ご存じでしたら教えてくださいませ。 よろしくお願いいたします。
|