投稿日 | : 2005/03/01(Tue) 16:58 |
投稿者 | : はこ |
Eメール | : |
URL | : |
タイトル | : Re^2: SHFileOperation |
花ちゃんさん
ご回答どうもありがとうございます。
こちらでももうちょっと確認してみました。
すると、WindowsXP SP2の環境ではfAnyOperationsAborted=1と
なりますが、Windows2000 (Server,Pro) SP4の環境では
fAnyOperationsAborted=0となってしまうことがわかりました。
動作環境を記述せずに申し訳ありませんでした。
実際のコードはこちらになります。
Private Sub cmdCopy_Click()
Dim sh As SHFILEOPSTRUCT
Dim bytBuf() As Byte
Dim lngRet As Long
Dim lngCancel As Long
'FD出力
With sh
.hwnd = Me.hwnd
.wFunc = FO_COPY
.pFrom = "C:\test.dat"
.pTo = "A:\test.dat"
End With
lngRet = SHFileOperation(sh)
ReDim bytBuf(LenB(sh)) As Byte
MoveMemory bytBuf(0), sh, LenB(sh)
MoveMemory lngCancel, bytBuf(18), Len(lngCancel)
If lngRet = 0 And lngCancel = 0 Then
MsgBox "コピー完了!"
End If
End Sub
Windows2000環境で実行すると、最後のIf文の時点でlngRetも
lngCancelも0となり、「コピー完了!」メッセージが表示されて
しまいます。
やはり環境の問題なのでしょうか?