Проверка работы и перезапуск программы через VBS скрипт

  • 1 764
  • 0
  • 100,00%
  • 1

Если нужно реализовать проверку работы программы и её перезапуск через VBS скрипт, то вы по нужному адресу. Делается это следующим скриптом:

Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Do
Running = False
Set colItems = objWMIService.ExecQuery("Select * from Win32_Process")
For Each objItem in colItems
	If objItem.Name = "Notepad.exe" Then
		Running = True
		Exit For
	End If
Next
If Not Running Then
	CreateObject("WScript.Shell").Run "Notepad.exe", 1, True
End If
WScript.Sleep 30000
Loop

Разберем наиболее важные части скрипта. Одна из самых первых строчек в скрипте устанавливает значение переменной Running в значение False - дальше станет понятно зачем. В строчке If objItem.Name = "Notepad.exe" Then задается имя процесса, который нужно найти в списке процессов на компьютере (именно на компьютере, а не у пользователя!). Затем, если он найден, то строчка Running = True устанавливает переменную Running в значение True. Если же не запущен, то ничего не делается, так как переменная Running уже установлена в значение False.

После этого, если значение Running равно False (строчка If Not Running Then), то происходит запуск нужного исполняемого файла (CreateObject("WScript.Shell").Run "Notepad.exe", 1, True). Затем команд WScript.Sleep 30000 в скрипте указывает приостановить работу скрипта на 30000 миллисекунд (на 30 секунд, но время в vbs скрипте задается именно в миллисекундах). Затем строчка Loop приказывает начать выполнение цикла по новой - с команды Do.



Поделиться

Добавить комментарий

Ваш e-mail не будет опубликован.

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.