投稿日 | : 2005/03/03(Thu) 10:39 |
投稿者 | : はこ |
Eメール | : |
URL | : |
タイトル | : 【解決】SHFileOperation |
>GODさん
ご確認どうもありがとうございます。
やっぱりWin2000では仕方のないことなのでしょうか。。。
GODさんからのヒントを元に結局このようにすることにしました。
Private Sub cmdCopy_Click()
Dim sh As SHFILEOPSTRUCT
Dim bytBuf() As Byte
Dim lngRet As Long
Dim lngCancel As Long
Dim intRet As Integer
On Error Resume Next
RETRY:
'FDがセットされているか確認
Err.Clear
Dir "A:\", vbDirectory
If Err.Number <> 0 Then
intRet = MsgBox("フロッピーディスクをセットして再試行ボタンを押下してください。", _
vbExclamation Or vbRetryCancel, _
Me.Caption)
If intRet = vbRetry Then
GoTo RETRY
Else
Exit Sub
End If
End If
'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 sh.fAnyOperationsAborted = 0 Then
MsgBox "コピー完了!"
End If
End Sub
花ちゃんさん、魔界の仮面弁士さん、GODさん、どうもありがとうございました。