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

Показать сообщение отдельно

Новый участник


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

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


Приветствую.

А как можно завершить процесс, если скажем, нам неизвестно время его запуска? Как завершить именно нужный нам процесс, если процесс с таким именем использует другая программа?

Пример:
Устанавливается репак одной из игр. А так, как господа репакеры любят добавлять NET DirectX и др, то, соответственно, ключ тихой установки работает до того момента, когда пользователю предлагается установить какую-либо из данных "плюшек". Но меня это не устраивает в корне, так как репаков далеко не один, как и компьютеров.
единственное, что пришло в голову, это выставить паузу.
Пример:
start "" "F:\DSTBR\Disk D\Games\RPG\Left 4 Dead 2 [v 2.0.8.4 + 6 DLC]\setup.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- /DIR="D:\Games\RPG\Left 4 Dead"
ping 127.1 -n 2100 >nul
taskkill /f /im install.exe /t
ping 127.1 -n 15 >nul
taskkill /f /im setup.exe /t

Переходим к следующему
...
Но это топорно.
Хотелось бы, чтобы во время установки скрытно висел bat файл, который бы проверял наличие указанных процессов с определённой периодичностью и "убивал" их. Цикл реализовать не сложно.
Это, реализуемо, если бы не одно "но".
Скажем, у того же .NET имя процесса setup.exe как и у процесса установки вышеназванного репака.

Может быть, можно было определить PID процесса, и уже потом убить его? Но как это сделать, он всегда разный?
Используя nircmd пытаюсь закрыть окно, выдаёт меню "Вы уверены...?"

Что делать? Подскажите хотя бы направление мыслей)
ЗЫ. Win XP SP3

Отправлено: 17:39, 24-08-2013 | #9