![]() |
Как закрыть процесс, при условии если открыт другой?
Всем привет.
Подскажите как при помощи bat закрыть процесс, при условии если открыт другой? Разжую вопрос. Задача такая нужно что бы, если обнаружен процесс "notepad.exe", то завершить процесс "mspaint.exe",если нет такого процесса, то повторить данную команду -N количество раз. Ну и если возможно, то по завершинии процесса "mspaint" закрыть батник. P.S. Извеняюсь если этот вопрос где то разбирался. поиск результатов не дал. Зарание спасибо! |
Код:
@echo off |
Спасибо за поддержку. работает.
Еще вопроси как сделать так что бы запустилась сначала команда @echo off set process1=notepad.exe set process2=mspaint.exe :st tasklist /FI "ImageName EQ %process1%" | find /I "%process1%" If %errorlevel% NEQ 0 goto :st taskkill /f /im %process2% и что бы она висела в ожидании. ждала запуска "notepad" и при этом запустился к примеру "%programfiles%\winrar\winrar.exe" |
Код:
@echo off |
Спасибо. за ответы и за помощь.но возникла некая проблема. опишу суть правды что требуется.
команды работаю отлично, но проблемка вот в чем. нужно смотреть за процессом Firefox.exe, если он запущен то выключать другой процесс. к этому вопросов нет. Решено. но вот проблема в другом. Если переименовать файл в %programfile% скажем firefox.exe на firefox1.exe, то уже команда не работает, а пользователь может ее переименовать как хочет.Возможно ли как то сделать так что бы данная комадна закрывала второй процесс, не зависимо от названия этого Firefox-a ( при любом его названии?) |
KOS9I4OK, пожалуйста, ещё раз, с расстановкой и по-русски.
|
Хорошо. Вот что у меня сделанно
@echo off title star game @echo created by KOS9I4OK rem CenterSelf set FGcol=1100 rem ChangeColor %FGcol% 0 rem PrintBoxAt 12 31 3 20 2 rem ChangeColor 0 %FGcol% rem Wait 1500 rem ShadeBoxAt 13 32 1 2 2 rem Wait 1000 rem ShadeBoxAt 13 34 1 2 2 rem Wait 1000 rem ShadeBoxAt 13 36 1 2 2 rem Wait 1000 rem ShadeBoxAt 13 38 1 2 2 rem Wait 1000 rem ShadeBoxAt 13 40 1 2 2 rem Wait 1000 rem ShadeBoxAt 13 42 1 2 2 rem Wait 1000 rem ShadeBoxAt 13 44 1 2 2 rem Wait 1000 rem ShadeBoxAt 13 46 1 2 2 rem Wait 1000 rem ShadeBoxAt 13 48 1 2 2 rem ClearColor rem Locate 25 1 set process1=firefox.exe set process2=arma2OA.exe set process3="Expansion\beta\arma2oa.exe" -beta=Expansion\beta;Expansion\beta\Expansion -nosplash -mod=@DayZ -connect=213.128.хх.хх -port=2302 -password=123456 start "" %process3% :st tasklist /FI "ImageName EQ %process1%" | find /I "%process1%" If %errorlevel% NEQ 0 goto :st taskkill /f /im %process2% exit Это все я запаковываю .exe файл и передаю игроку(клиенту). Далее этот файл запускает игру. В игре как и в других есть возможность использовать читы. Так вот чит включается по средством включенного браузера Firefox.exe. При данном коде работает все как надо. Если во время игры включили браузер, то закрылась игра. Но если переименовать файл запуска браузера к примеру c firefox.exe в firefox123.exe, браузер запустится с именем процесса firefox123.exe и данный код не сработает. Вот сам теперь вопрос. Возможно ли закрыть данный браузер (не зависимо от его названия) или вообще все браузеры на компьюторе? |
KOS9I4OK, для оформления примеров кода используется bb-код code.
Насчёт закрытия окон браузера вне зависимости от имени процесса - можно использовать класс окна. Для этого нужна консольная версия утилиты NirCmd. Код:
@Echo Off Замечу, что принудительно закрывать пользователю браузер - плохое решение. У него там может быть открыта нужная информация. Стоит хотя бы предупреждение перед закрытием выдавать. А от читеров батник не спасёт - ведь отредактировать его проще простого. |
Цитата:
|
Время: 19:55. |
Время: 19:55.
© OSzone.net 2001-