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

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

Старожил


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

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


1. Делаем "сканер", запускаем в отдельном CMD, желательно назначив ему высокий приоритет

@echo off
:Loop
echo === %time%>>%~dpn0.log
TaskList >>%~dpn0.log
goto :Loop


сканер будет бесконечно крутиться и надеюсь несколько раз в секунду сохранять список процессов в одноименный лог-файл.
По нормальному завершению исходного, работающего скрипта смены темы останавливаем "сканер" (Ctrl+Break).

2. Анализируем лог-файл, возможно кроме Control.exe будет еще что-то. Ищем их отличительные особенности (лучше, если это уникальное имя файла). Если наблюдаются совпадения с уже имеющимися в памяти, то увеличиваем кол-во инфы в сканере "TaskList /V" - дополнительная инфа может быть (в конечном скрипте) отсяна по фильтру, например на совпадение названия "окна": TaskList /FI "WindowTitle eq Название окна"...

3. В итоге строки ожидания вместо пинга будет выглядить так:
:Loop
for /f "tokens=1" %%F in ('tasklist^|find /c "Control.exe"') do if not "%%F"=="0" GotTo :Loop

* здесь для прмера ожидается окончание выполнения файла "Control.exe" - его кол-во в оперативке должно стать равным нулю.

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

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:39, 01-11-2010 | #4