给你个代码,用这个可以判断你用Shell运行的程序是否还在运行,你自己研究一下吧,呵呵!
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Const PROCESS_QUERY_INFORMATION = &H400
Private Function IsRunning(ByVal ProgramID) As Boolean
Dim hProgram As Long
hProgram = OpenProcess(PROCESS_QUERY_INFORMATION, False, ProgramID)
If Not hProgram = 0 Then
IsRunning = True
Else
IsRunning = False
End If
CloseHandle hProgram
End Function
Private Sub Command1_Click()
Dim X As Long
MsgBox "开始运行"
X = Shell("C:\windows\system32\notepad.exe", 1)
While IsRunning(X)
DoEvents
Wend
MsgBox "结束运行"
End Sub
