程序在设置为变量时执行

Program executes when being set to a variable

我正在尝试创建一个脚本来检查程序(在本例中为计算器)是否 运行ning。 我也不太明白为什么 set oExec = script.Exec("calc") 会 运行 这个程序。提前致谢:)

set script = wscript.CreateObject("WScript.Shell")
set oExec = script.Exec("calc")

Do While oExec.Status = 0
     WScript.Sleep 100
Loop

if oExec.Status = 1 Then
    MsgBox("Calculator is open")
    WScript.Quit()
End if

解决了我自己的问题!来自:How to run loop check vbs for particular running process? Or missing process?

Set service = GetObject ("winmgmts:")

For Each Process In Service.InstancesOf("Win32_Process")
    If Process.Name = "Calculator.exe" Then
        WScript.Echo "Calc is running"
        WScript.Quit
    End If
Next