我想要一个监控进程的VBS代码,如果进程了发现1.EXE,那么就隐藏运行2.BAT,否则5分钟再检测是否存在1.EXE

如果发现1.EXE并执行了2.BAT后不用退出,5分钟后继续检测,如果没发现1.EXE也是过5分钟后再检测,如此反复... 如果发现1.EXE并执行了2.BAT后不用退出,5分钟后继续检测,如果没发现1.EXE也是过5分钟后再检测,如此反复 展开
 我来答
ydm_bd
2011-05-02 · TA获得超过884个赞
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:98万
展开全部
Do
If FindProcess("1.exe") Then
RunProcess "2.bat"
WScript.Sleep 5 * 60 * 1000 '转换成秒数
End If
Loop

Function FindProcess(s)
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = '" & s & "'")
For Each objProcess In colProcessList
FindProcess = True
Exit Function
Next
End Function

Sub RunProcess(s)
Set wsh = CreateObject("WScript.Shell")
wsh.Run s, vbHide
Set wsh = Nothing
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蔡瑀
2011-04-30 · TA获得超过231个赞
知道小有建树答主
回答量:424
采纳率:0%
帮助的人:331万
展开全部
on error resume next
set process = getobject("winmgmts:\\.\root\cimv2").execquery("select * from win32_process")
set shell=createobject("wscript.shell")
public function find(byval prv)
For Each i In process
If lcase(i.caption)=lcase(prv) Then find=i.caption:exit for
Next
end function
do
if find("1.exe") <> "" then shell.run "2.bat"
wscript.sleep 300000
loop
追问
批处理好像没有隐藏
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a5562257
2011-05-01 · 超过63用户采纳过TA的回答
知道小有建树答主
回答量:222
采纳率:0%
帮助的人:175万
展开全部
求解中....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式