我用VB调用一个EXE文件(FORTON生成的用来计算的一个程序),并且要在EXE计算完成后,使用计算的结果。现在不知道怎么样从VB里得知这个exe程序是否运行完成。因为EXE是个独立的过程,不知道该如何监控啊! 请大虾们指点一二。万分感谢啊!

解决方案 »

  1.   

    Public Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
    Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
    Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
    Public Const INFINITE = -1&
    Public Const SYNCHRONIZE = &H100000Private Sub Command1_Click()
        Dim i As Long
        Dim r As Long
        Dim p As Long
        i = Shell("NOTEPAD.EXE", vbNormalFocus)
        p = OpenProcess(SYNCHRONIZE, False, i)
        r = WaitForSingleObject(p, INFINITE)
        r = CloseHandle(p)
        MsgBox "Program Close"
    End Sub自己根据情况改改