标题: [问题求助] [已解决]求助VBS每隔1分钟查找一下给定的进程名在不在。 [打印本页]
作者: mzzyb 时间: 2023-7-20 17:19 标题: [已解决]求助VBS每隔1分钟查找一下给定的进程名在不在。
本帖最后由 mzzyb 于 2023-8-30 17:57 编辑
求一个每隔1分钟查找一下给定的进程名在不在。(指定进程有没有运行)。如果有在运行,过1分继续查找指定进程在不在,如果指定进程不在,执行代码(这个代码我已经写好了)。退出vbs
求大佬帮忙写一个。
作者: FenoX 时间: 2023-7-21 09:59
- [查找进程间隔时间.vbs]
- Option Explicit
- Dim a,b
- a=inputbox ("输入要查找的进程名")
- b=inputbox ("输入间隔时间:(单位:毫秒)")
- Dim processName
- processName = a ' 要查找的进程名
-
- Do
- If CheckProcess(processName) Then
- WScript.Echo "进程 " & processName & " 正在运行"
- Else
- WScript.Echo "进程 " & processName & " 未找到"
- End If
-
-
- WScript.Sleep b
- Loop
-
- Function CheckProcess(processName)
- Dim objWMIService, colProcessList, objProcess
- Dim found
- found = False
-
- Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
- Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name='" & processName & "'")
-
- For Each objProcess in colProcessList
- found = True
- Exit For
- Next
-
- CheckProcess = found
- End Function
复制代码
作者: FenoX 时间: 2023-7-21 10:02
查找指定时间,运行文件后退出:- Option Explicit
-
- Dim processName
- processName = "awa.exe" ' 要查找的进程名
-
- Do
- If CheckProcess(processName) Then
- WScript.Echo "进程 " & processName & " 正在运行"
- Else
- WScript.Echo "进程 " & processName & " 未找到"
-
- ' 执行你已经写好的代码
- Call YourCustomCode()
-
- Exit Do '
- End If
-
- ' 等待1分钟
- WScript.Sleep 60000
- Loop
-
- Sub YourCustomCode()
-
- End Sub
-
- Function CheckProcess(processName)
- Dim objWMIService, colProcessList, objProcess
- Dim found
- found = False
-
- Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
- Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name='" & processName & "'")
-
- For Each objProcess in colProcessList
- found = True
- Exit For
- Next
-
- CheckProcess = found
- End Function
复制代码
作者: FenoX 时间: 2023-7-21 10:04
好像写错了,留给大家改吧
作者: mzzyb 时间: 2023-7-21 17:13
好像写错了,留给大家改吧
FenoX 发表于 2023-7-21 10:04
你的函数CheckProcess返回值那块(39)行可能错了吧,我的理解应该return found
我也是初学者,我没见过这种写法,瞎猜的
作者: jyswjjgdwtdtj 时间: 2023-7-21 22:52
回复 5# mzzyb
没错 found是一个普通变量 vbs里返回不是用return
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |