Задать вопрос
aminoflex
@aminoflex

Как остановить бесконечный цикл?

При запуске скрипта открывается много окон программы. Напишите ошибки
Set WshShell = CreateObject("WScript.Shell") 
Set WshShell = Nothing

On error resume next
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")

' General Launching and Checking
do
WScript.Sleep 500
' Task Manager
Set taskcolitem = objWMIService.ExecQuery("Select * from Win32_Process")
taskmgrisrun=false
For Each objItem in taskcolitem
If objItem.Name = "Taskmgr.exe" OR objItem.Name = "taskmgr.exe" Then
taskmgrisrun = True
Exit For
End If
Next
' End Task Manager
Running = False
Set colItems = objWMIService.ExecQuery("Select * from Win32_Process")
For Each objItem in colItems
If objItem.Name = "Drivers.exe" Then
Running = True
Set thisprocess=objItem
Exit For
End If
Next
If taskmgrisrun Then
    If Running Then
        thisprocess.Terminate
    End if
End if
If Not Running Then
    WScript.Sleep 500
    WshShell.Run "Drivers.exe"
End if
Loop
  • Вопрос задан
  • 1260 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
honor8
@honor8
Принципы быстродействия VBA в описании
Указать в конце условие остановки цикла Loop Until ('что-то' равно), или в начале указать условия выполнения цикла Do While ('пока соблюдается' условие). Блок-схемы помогают в таких вопросах.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы