我需要知道进程ID是否存在。目前的代码如下:
Option Explicit
Dim WshShell As Object
Dim EngineRun As Object
Sub main()
Set WshShell = CreateObject("WScript.Shell")
Set EngineRun = WshShell.Exec("notepad.exe")
MsgBox EngineRun.ProcessID
If EngineRun.ProcessID = True Then
WshShell.run "TASKKILL /F /IM " & EngineRun.ProcessID, , True
MsgBox EngineRun.ProcessID & (" terminated")
Else
MsgBox EngineRun.ProcessID & (" does not exist")
End If
End Sub
如果我去掉“if”语句,让它打开记事本并显示一个带有进程ID的消息框,那么当我点击消息框上的OK后,它就能成功地杀死记事本。
但是在有了“if”语句之后,无论记事本是否打开,它都会弹出“不存在”消息框。如果打开了记事本,它会成功地将其关闭,然后显示“不存在”消息框,而不是“已终止”消息框。
非常感谢您的任何建议!