|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Мониторинг процесса в диспетчере задач и запуск его в случае отсутствия |
|
VBS/WSH/JS - [решено] Мониторинг процесса в диспетчере задач и запуск его в случае отсутствия
|
Новый участник Сообщения: 5 |
Профиль | Отправить PM | Цитировать Добрый день.
есть задача добавить к загрузке скрипт который будет висеть в памяти и мониторить присутствие процесса - а в случае его закрытия "случайно" - его запуск. процесс 'iexplore.exe' с ключом '-k' вмешательство пользователей в диспетчер задач отсутствует. Самому знаний возможно хватило бы что бы скопировать нужное из др. скриптов и связать в один скрипт, но на это уйдет время, а его увы нет. |
|
Отправлено: 12:12, 06-12-2011 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата yago:
|
|
Отправлено: 12:21, 07-12-2011 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1309
|
Профиль | Отправить PM | Цитировать Iska,
взял ваш скрипт, но с правкой не въеду надо чтоб проверялось раз в 30мин запущен ли teamviewer, если нет, то запускал бы поправил путь Option Explicit Dim lngProcessID With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2") Do If .Get("Win32_Process").Create( _ """C:\Program Files (x86)\TeamViewer\TeamViewer.exe"" -k ""file://C:\WINDOWS\Help\Tours\htmlTour\default.htm""", _ Null, Null, lngProcessID) = 0 Then .ExecNotificationQuery( _ "SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE " & _ "TargetInstance ISA 'Win32_Process' AND " & _ "TargetInstance.ProcessID = '" & CStr(lngProcessID) & "'").NextEvent Else ' Не удалось запустить процесс Exit Do End If Loop End With WScript.Quit 0 |
------- Отправлено: 19:59, 17-12-2015 | #12 |
Ветеран Сообщения: 1309
|
Профиль | Отправить PM | Цитировать нашел скрипт для планировщика, Петя васечкин приводил
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2") Set colProcesses = objWMIService.ExecQuery( _ "Select Name From Win32_Process " _ & "Where Name = 'notepad.exe'") If colProcesses.Count = 0 Then Set objShell = Wscript.CreateObject("Wscript.Shell") objShell.Run "notepad.exe" End If |
------- Отправлено: 19:54, 21-12-2015 | #13 |
Ветеран Сообщения: 1309
|
Профиль | Отправить PM | Цитировать господа, никто не поможет?
|
------- Отправлено: 23:34, 23-12-2015 | #14 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Wu-Tang, постоянная проблема, что люди не описывают задачу, а уже выбранное ими решение. При этом остаётся только догадываться, какая именно это задача, и строить выводы о том, насколько удачно это озвученное решение.
Вот, например, в Вашем случае я не вижу, почему бы Вам просто тупо не запускать приложение раз в тридцать минут? По выбранному и озвученному Вами решению — этого достаточно. Безо всяких скриптов. А вот что на самом деле нужно, какая в реальности стоит задача — остаётся неизвестным. То ли, действительно, раз в тридцать минут запускать приложение, то ли находить уже запущенное приложение, следить за ним и тотчас же перезапускать его при закрытии, то ли запускать приложение самим скриптом, следить и перезапускать его (проще и надёжнее в реализации). Опишите задачу. |
Отправлено: 00:26, 24-12-2015 | #15 |
Ветеран Сообщения: 1309
|
Профиль | Отправить PM | Цитировать Iska,
хорошо, все просто. есть задача - проверять через определенные промежутки времени запущен ли тимвьювер и если нет, то запускать. либо из планировщика, либо само по себе. |
------- Отправлено: 06:44, 24-12-2015 | #16 |
Ветеран Сообщения: 1309
|
Профиль | Отправить PM | Цитировать Iska,
ну так как поможите? |
------- Отправлено: 14:12, 28-12-2015 | #17 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Wu-Tang, ещё раз — чем Вас не устраивает обычный Планировщик: выполнять задание ежедневно, каждые 30 минут, в течение 24 часов? Это полностью решает описанную Вами задачу. Без какого-либо использования скриптов.
|
Отправлено: 16:28, 28-12-2015 | #18 |
Старожил Сообщения: 303
|
Профиль | Отправить PM | Цитировать Могу предположить, что может там многократно ТМ вылезет или будет просто вылазить по верх всех окон
|
Отправлено: 16:51, 28-12-2015 | #19 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Fantastish, не предполагайте. Проверьте. Как это сделал я.
|
Отправлено: 03:35, 29-12-2015 | #20 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - как понизить приоритет процесса если его нет в диспетчере задач? | Firiat | Microsoft Windows 2000/XP | 9 | 22-08-2010 00:58 | |
[решено] Проверка наличия процесса в Диспетчере задач | Hawk37 | AutoIt | 1 | 05-03-2010 16:37 | |
Любой язык - [решено] Скрипт который бы запускал 2 процесса и в случае убийства одного убивал бы и другой | iDrug | Скриптовые языки администрирования Windows | 7 | 12-10-2009 19:08 | |
CMD/BAT - [решено] Создание текстового файла при условии его отсутствия в папке | spilberg | Скриптовые языки администрирования Windows | 1 | 12-07-2009 15:58 | |
Разное - Мониторинг и трассировка процесса выключения системы. | medved26 | Microsoft Windows 2000/XP | 1 | 06-10-2008 15:34 |
|