监视程序的运行情况 我们使用 VB 提供的 Shell 方法调用外部程序时,Shell 方法执行后会继续执行下面的代码,而我们不能确定外部程序什么时候调用结束。我们现在可以通过以下方法来实现对被调用程序的监视: (1)首先在工程中添加一个模块,然后声明 OpenProcess 及 CloseHandle 这两个 API 函数; (2)然后加入下面的函数: Public Function StillRun(ByVal ProgramID) As Boolean Dim lHProgram As Long Dim lReturn As Long hProgram = OpenProcess(0, False, ProgramID) If Not hProgram = 0 Then StillRun = True Else StillRun = False End If CloseHandle hProgram End Function 说明:ProgramID 是 Shell 函数返回的那个值, 那是一个进程号;lHProgram 是被测程序的进程句柄;lReturn是进程的返回码。本程序只是在WIN32下有效,使用重要注意一个问题, 就是代码的重入问题。可以用类似以下的代码来解决。 While StillRun(id) DoEvents Wend