Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

Ответить
Настройки темы
VBS/WSH/JS - Убить процесс, если окно активно

Аватара для rsod

Ветеран


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


Конфигурация

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


У меня ситуация такая.
Необходимо убить процесс, если окно с заголовком XXX активно (или окно процесса xxx.exe), и после того, как окно станет неактивным, вновь этот процесс запустить. Как-то так.

Отправлено: 11:51, 25-05-2010

 

Googler


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

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


имхо проще на CMD:
Код: Выделить весь код
For /F "Tokens=2 Delims=," %%i In (
'TaskList /NH /FO CSV /FI "WINDOWTITLE eq XXX"^|Find /I "xxx.exe"') Do (
 TaskKill /PID %%~i /T /F
 Start "" xxx.exe
)
то же для некоторых локализованных Windows:
Код: Выделить весь код
For /F "Tokens=2 Delims=," %%i In (
'TaskList /NH /FO CSV /FI "Название окна eq XXX"^|Find /I "xxx.exe"') Do (
 TaskKill /PID %%~i /T /F
 Start "" xxx.exe
)

Отправлено: 07:57, 26-05-2010 | #2



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

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


Аватара для rsod

Ветеран


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

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


блин, что-то не получается.
Мне надо так:
если окно процесса gta_sa.exe активно, то убить процесс lswitch.exe
если окно процесса gta_sa.exe не активно и процесс lswitch.exe не запущен, то запустить "c:\progra~1\lswitch.exe 20"

-------


Отправлено: 17:56, 27-05-2010 | #3


Старожил


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

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


Так?

Код: Выделить весь код
@echo off
SetLocal EnableExtensions
rem SetLocal EnableDelayedExpansion

set FindPrc=gta_sa.exe
set KillPrc=lswitch.exe
set StartPrc="c:\progra~1\lswitch.exe 20"

for /f "tokens=1 delims=" %%P in ('tasklist ^| find /c /i "%FindPrc%"') do if /i %%P EQU 0 (
Start "" %StartPrc%
) else (
taskkill /im %KillPrc% /f /t
)

-------
Как сказало Дерево Дровосеку: "я - пень".


Отправлено: 18:48, 27-05-2010 | #4


Аватара для rsod

Ветеран


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

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


нет
C:\Windows\system32>c:\run-kill.bat
Успешно: Процесс, с идентификатором 3452, дочерний процесса 1172, был завершен.
окно активно не было
в общем, гнилая эта затея.

-------


Отправлено: 19:43, 27-05-2010 | #5


Googler


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

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


Цитата rsod:
если окно процесса gta_sa.exe активно »
неясно, что значит "активно" - фокус ввода, отображение "поверх всех" или просто наличие этого окна у процесса?

Отправлено: 15:59, 28-05-2010 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Убить процесс в определённое время Dijio Microsoft Windows 2000/XP 2 22-07-2009 15:06
help! не могу сообразить как убить процесс zl3p Программирование в *nix 2 05-02-2007 22:10
Delphi - Убить процесс на Delphi btx Программирование и базы данных 1 18-03-2005 12:43
Как убить процесс ? ukms Программирование и базы данных 19 07-07-2004 09:01
Убить зависший процесс vippy Microsoft Windows NT/2000/2003 8 02-04-2004 07:32




 
Переход