【发布时间】:2021-12-19 14:21:49
【问题描述】:
关于为什么这个脚本总是进入 If 语句,即使进程没有运行有什么想法吗?
If isProcessRunning("Allplan_2022.exe") Then
MsgBox "Allplan is running!"
WScript.Quit
End If
Function isProcessRunning(ByVal processName)
Dim objProcessList
Set isProcessRunning = FALSE
Set objProcessList = GetObject("Winmgmts:").ExecQuery ("Select * from Win32_Process")
For Each item In objProcessList
If item.Name = processName Then
isProcessRunning = TRUE
Exit For
End If
Next
End Function
【问题讨论】:
-
使用局部变量来存储布尔标志,而不是直接将其分配给函数返回值。此外,布尔分配不需要
Set,因为它仅用于分配对象实例。
标签: vbscript