Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Скрипт, проверяющий программу и предлагающий ее запустить если она вырубилась

Ответить
Настройки темы
VBS/WSH/JS - Скрипт, проверяющий программу и предлагающий ее запустить если она вырубилась

Старожил


Сообщения: 282
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: koresaram
Дата: 28-08-2018
Всем привет

исходные данные:
на компе должна работать программа c:programm files/proga.exe
периодически она вылетает и ее приходится запускать руками
пояснение - прога на удаленном компе и там нет мышки клавиатуры (там тач пад можно пальцем в экран ткнуть), чтобы пользователь смог зам ее запустить (мышкой и клавиатурой прогу запустить можно только из диспетчера задач). Приходится подключаться по тимке и включать им ее.

надо:
скрипт, который будет, к примеру, каждые 10 минут проверять наличие процесса proga.exe и если такой процесс не обнаружен, выводить окно на экран с предложением запустить программу Да/Нет
соответственно при нажатии на Да - запускается proga.exe а при нажатии на Нет скрипт уходит в свой обычный режим и через 10 минут снова предложит запустить прогу. И еще этот скрипт должен выключать процесс експлорера (при вылете программы этой остается окно "Мой компьютер"

Код: Выделить весь код
Option Explicit
Dim objWMIService, objProcess, colProcess
Dim strComputer, strProcessKill 
Dim WshShell
strComputer = "."
strProcessKill = "'explorer.exe'" 

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

Set colProcess = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = " & strProcessKill )
For Each objProcess in colProcess
objProcess.Terminate()
Next

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "c:\Program Files\PROGA.exe" & Chr(34), 0
Set WshShell = Nothing

WScript.Quit
есть вот такая штука (файл сценария VBScript). Если в нее ткнуть, то прога запускается и експлорер убирается. Вот если к ней еще интерактив прикрутить будет хорошо/

-------
настоящему корейцу завсегда везде ништяк!


Отправлено: 08:28, 28-08-2018

 

Аватара для YuS_2

Crazy


Contributor


Сообщения: 1235
Благодарности: 518

Профиль | Отправить PM | Цитировать


Цитата koresaram:
прога на удаленном компе и там нет мышки клавиатуры »
Цитата koresaram:
выводить окно на экран с предложением запустить программу Да/Нет »
Шлем распознавания мысленных команд?

-------
scio me nihil scire. Ѫ


Отправлено: 08:55, 28-08-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 282
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


Цитата YuS_2:
Шлем распознавания мысленных команд? »
поправил описание. там тачпад ) пальцем можно ткнуть в экран )

-------
настоящему корейцу завсегда везде ништяк!


Отправлено: 09:13, 28-08-2018 | #3


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


koresaram, создайте примерно такую задачу на каждые 10 минут:
Код: Выделить весь код
cmd.exe /c "tasklist | findstr /B notepad.exe || "c:\Windows\notepad.exe""
UPD упустил из вида, что вам нужно интерактивное взаимодейсвие с пользователем, тогда действительно лучше WSH

тачпад - это сенсорный квадратик на ноутбуках под клавиатурой, а "пальцем в экран" - это тачскин

Последний раз редактировалось Busla, 28-08-2018 в 11:10.


Отправлено: 10:11, 28-08-2018 | #4


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1235
Благодарности: 518

Профиль | Отправить PM | Цитировать


Цитата koresaram:
пальцем можно ткнуть в экран »
можно на powershell организовать скрипт, если устроит.
wait-process будет ожидать завершения процесса, а по завершении можно прикрутить действие на запуск формы с кнопками... в общем, варианты есть, но если требуется именно wsh...

-------
scio me nihil scire. Ѫ


Отправлено: 11:58, 28-08-2018 | #5


Старожил


Сообщения: 282
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


Цитата YuS_2:
можно на powershell организовать скрипт, если устроит.
wait-process будет ожидать завершения процесса, а по завершении можно прикрутить действие на запуск формы с кнопками... в общем, варианты есть, но если требуется именно wsh... »
я в программировании не силен ) поэтому не знаю на каком языке это можно сделать. По идее хоть на вбс лишь бы работало. Там еще момент упустил (добавил в описание) при вылете программы этой появляется окно експлорера "мой компьютер" вот его надо закрывать.

Цитата Busla:
тачпад - это сенсорный квадратик на ноутбуках под клавиатурой, а "пальцем в экран" - это тачскин »
да тачскрин, согласен )

-------
настоящему корейцу завсегда везде ништяк!


Отправлено: 12:05, 28-08-2018 | #6


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата koresaram:
скрипт, который будет, к примеру, каждые 10 минут проверять наличие процесса proga.exe и если такой процесс не обнаружен, выводить окно на экран с предложением запустить программу Да/Нет
соответственно при нажатии на Да - запускается proga.exe а при нажатии на Нет скрипт уходит в свой обычный режим и через 10 минут снова предложит запустить прогу. »
В чём глубинный смысл действий скрипта в этом случае?! Я не понимаю.

Я понимаю так: скрипт проверяет наличие исполняемого файла приложения. Скрипт запускает приложение. Скрипт следит за тем, что приложение работает (причём — именно за тем экземпляром приложения, который был запущен самим скриптом, игнорируя любые прочие экземпляры того же приложения). Как только данный экземпляр приложения завершается — скрипт немедленно запускает новый экземпляр и начинает следить за ним.

Отправлено: 12:35, 28-08-2018 | #7


Старожил


Сообщения: 282
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


Цитата Iska:
В чём глубинный смысл действий скрипта в этом случае?! Я не понимаю. »
смысл в следующем - есть кассовая программа (компы это кассы в магазинах). И эта кассовая proga.exe периодически вылетает. То есть в процессах она пропадает (и вместо нее выходит окно експлорера "Мой компьютер". Ее надо включать, чтобы касса работала дальше. На текущий момент продавец звонит и сообщает что программа вылетела (я подключаюсь по тимке и запускаю ее через диспетчер задач). То есть процесс там один. Их не может быть 2 (второй не запустится, а выдаст сообщение, что прога уже запущена. Это в самой проге заложено).

То есть скрипт чекает наличие процесса proga.exe если процесс есть - значит прога работает и делать ничего не надо (следующий чек через 10 минут). Если процесса нет -выводится интерактивное окно - Включить кассу? Да/Нет. Возникает вопрос а зачем тогда Нет? Бывают случаи, когда программу надо принудительно выключить (например обновляется бд, а при включенной проге обращение к бд не дает скопировать файлы). вот для этого случая нужен вариант Нет.

-------
настоящему корейцу завсегда везде ништяк!


Отправлено: 13:13, 28-08-2018 | #8


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1235
Благодарности: 518

Профиль | Отправить PM | Цитировать


Цитата koresaram:
поэтому не знаю на каком языке это можно сделать. По идее хоть на вбс лишь бы работало. »
Дык, написать можно на том языке, который в наличии на целевом компьютере, если нет желания позаниматься установкой среды в которой будет выполняться написанное. Есть там powershell? Вот от этой печки и надо плясать...

-------
scio me nihil scire. Ѫ


Отправлено: 13:42, 28-08-2018 | #9


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


кассы в магазинах - это легко может быть какой-нибудь Embedded XP

Отправлено: 14:49, 28-08-2018 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Скрипт, проверяющий программу и предлагающий ее запустить если она вырубилась

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - проверять запущена программа, а если она запущена то закрывать ее DetFedot Скриптовые языки администрирования Windows 4 26-02-2018 15:32
CMD/BAT - [решено] Проверка запущена ли программа, если нет то запустить ее... Svnkill Скриптовые языки администрирования Windows 2 12-02-2018 13:18
CMD/BAT - [решено] Как запустить программу и тут же ее убить? Pozia Скриптовые языки администрирования Windows 1 20-08-2015 12:47
Кто знает такой сканер, программу Hitman Pro ? Она надежная не вирус ли она сама? micro8 Лечение систем от вредоносных программ 0 22-09-2010 13:08
Как запустить программу, чтобы пользователь ее невидел? Kvasia Microsoft Windows 2000/XP 11 06-05-2006 02:24




 
Переход