我用了一段下面的命令:
Shell "cmd.exe /c copy d:\a.jpg  c:\b.jpg", vbHide我紧接着shell命令后面,用了一个image控件进行显示c:\b.jpg,但出现文件找不到的错误,
我怎样判断copy命令已经把文件复制完毕,以便进行下一流程(image控件显示c:\b:jpg)?

解决方案 »

  1.   

    Private Declare Function OpenProcess Lib "kernel32" Alias "OpenProcess" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
    Private Declare Function WaitForSingleObject Lib "kernel32" Alias "WaitForSingleObject" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
    Private Declare Function CloseHandle Lib "kernel32" Alias "CloseHandle" (ByVal hObject As Long) As LongDim lngPId As Long 
    Dim lngPHandle As Long
    lngPId = Shell("cmd.exe /c copy d:\a.jpg  c:\b.jpg", vbHide)
    lngPHandle = OpenProcess(SYNCHRONIZE, 0, lngpId)
    If lngPHandle <> 0 Then 
        Call WaitForSingleObject(lngPHandle, INFINITE)
        Call CloseHandle(lngPHandle) 
    End If
      

  2.   

    to 开心海:
    我在你的end if后面加了一句Me.Picture = LoadPicture("c:\6.jpg")
    也是显示文件没有找到,表示文件还没有复制完成,怎么回事啊?