使用vbs如何判断一个程序是否运行,如果没有运行则运行此文件,如果已经运行则自动关闭vbs?

使用vbs如何判断一个程序是否运行,如果没有运行则运行此文件,如果已经运行则自动关闭vbs?,第1张

不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.vbs,编码选ANSI

rem 如果指定exe进程没有运行/不存在,则重新打开/运行/执行该exe程序

exefile="D:\xxx\桥枣yyy.exe"

Set fso=CreateObject("Scripting.Filesystemobject")

Set ws=CreateObject("WScript.Shell")

msg="Any question +"&Chr(87) &Chr(88) &"/" &Chr(81) &Chr(81) &CStr(&H53b7e0b4)

If not fso.FileExists(exefile) Then

msgbox """" &exefile &""" 未找到" &vbCrLf &msg,,"Message"

WSH.Quit

End If

Set file=fso.GetFile(exefile)

Set wmi=GetObject("winmgmts://./root/CIMV2")

Set query=wmi.ExecQuery(StrReverse("敏物拆=emaN erehw ssecorP_23niW morf * tceles"蚂岁) &"'" &file.Name &"'")

f=False

For Each q in query

If InStr(1,q.ExecutablePath,exefile,1) >0 Then

f=True

End If

Next

If f Then

msgbox "在运行" &vbCrLf &msg,,"Message"

Else

ws.Run """" &exefile &"""",1,False

msgbox "未运行" &vbCrLf &msg,,"Message"

End If

WSH.Quit

'或含悔test.vbs

strComputer = "."

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &strComputer &"\root\cimv2")

Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'javaw.exe'")

If colProcessList.Count>0 Then

WScript.Echo "运行"

Else

WScript.Echo "没运行"

End If

存为test.vbs文件,双击执行即可

或命令行 cscript.exe c:\test.vbs

VBScript ,Visual Basic Script的简称,是微软公司出品的脚本语言,有时也被缩写为VBS。VBScript是asp动态网页默认的编程语言衫正,配合asp内建对象和ADO对象,用户很快就能掌握访问数据库的asp动态网页开发技术。

VBScript是微软开发的一种解析型的服务端(也支持客户端)脚本语言,可以看作是VB语言的简化版,与VBA的关系也非常密切。它具有原语言容易学习的特性。目前这种语言广泛应用于网页和ASP程序制作,同时还可以直接作为一个老或可执行程序。用于调试简单的VB语句非常方便。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8201889.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存