VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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となり、「コピー完了!」メッセージが表示されて
しまいます。

やはり環境の問題なのでしょうか?


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -