返回列表 发帖

[问题求助] 求大神帮忙改一下,VBS循环条件成立退出循环

set WshShell = CreateObject("WScript.Shell")
WScript.Sleep 1000      ' 延时1秒
dim wmi,proc,procs,proname,flag,WshShell   
  
    proname="QQ.exe" '服务进程的名称
set wmi=getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")   
set procs=wmi.execquery("select * from win32_process")   
  flag=true   
for each proc in procs   
    if strcomp(proc.name,proname)=0 then   
      flag=false   
      exit for   
    end if   
next   
  set wmi=nothing   
  if flag then   
    Set WshShell = Wscript.CreateObject("Wscript.Shell")   
    WshShell.Run ("D:\QQ\QQ.exe")
end if  COPY
求大神帮忙改一下,循环100次检测QQ进程,如果检测次数在100次内QQ进程存在了,就退出速个VBS脚本,如果检测100次还没有QQ进程,就执行D:\QQ\QQ.exe

代码第2行“ 程序路径,不知道路径的话留空”。
Const AppPath = "D:\QQ\QQ.exe"  ' 程序路径,不知道路径的话留空COPY
' 程序路径,不知道路径的话留空
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

回复 5# yu2n


    大神,您测试一下。运行VBS以后,进程里有QQ,并没有退出VBS,还是执行了打开QQ这个操作

TOP

回复 4# ydm566
你是如何判定没有循环100次的?
如果要延时的效果,把第9行代码前的单引号去掉。
如果要体会100次的效果,在第9行后面加1句:
Msgbox Now()COPY
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

回复 2# yu2n


    测试效果不对,和我上面的差不多,并没有循环检测,当没有QQ的时候,没有循环检测到100次,直接就打开QQ了

TOP

测试效果不对,和我上面的差不多,并没有循环检测,当没有QQ的时候,没有循环检测到100次,直接就打开QQ了

TOP

Const AppName = "QQ.exe"        ' 程序名称
Const AppPath = "D:\QQ\QQ.exe"  ' 程序路径,不知道路径的话留空
Main
Sub Main()
  ' 循环100次
  For i = 1 To 100
    ' 延时 1 秒
    ' WScript.Sleep 1000
    ' 检查QQ是否运行,运行则退出脚本
    If IsRun(AppName, AppPath) > 0 Then WScript.Quit(0)
  Next
  ' 没有QQ运行,则启动QQ
  CreateObject("Wscript.Shell").Run AppPath
End Sub
' 检查程序是否运行,返回运行个数
' Eg: IsRun("mshta.exe", "c:\test.hta") > 1
Function IsRun(byVal AppName, byVal AppPath)
    IsRun = 0 : i = 0
    For Each objItem in GetObject("winmgmts:\\.\root\cimv2:win32_process").instances_
        IF LCase(objItem.name) = LCase(AppName) Then
            If AppPath = "" Then IsRun = 1 : Exit Function
            IF Instr( LCase(objItem.CommandLine) , LCase(AppPath) ) Then i = i + 1
        End IF
    Next
    IsRun = i
End FunctionCOPY
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

返回列表