Вверх ↑
Этот топик читают: Гость
Ответов: 817
Рейтинг: 52
#1: 2009-10-28 00:51:58 ЛС | профиль | цитата
Приятного времени суток господа!
code_15391.txt
Пытаюсь отследить когда закрывается приложение "findstr.exe"
но из-за того что оно отрабатывает очень быстро, не удается его отследить.
В идеале, мне необходимо дождаться закрытия "findstr.exe" и только потом выполнять остальные действия
Подскажите как это можно сделать?


карма: 1

0
файлы: 1code_15391.txt [1.2KB] [151]
Ответов: 409
Рейтинг: 17
#2: 2009-10-28 01:31:04 ЛС | профиль | цитата
Если консольное приложение отрабатывается быстро, и ты в этом уверен, то поставь таймер.
Таймер - это вариант, но не совсем хорошая идея с точки зрения "идеального алгоритма".
Поэтому лучше после запуска приложения включить циклический поиск программы в процессах, и как только поиск не найдет приложения, продолжай свои действия.
карма: 0

0
Ответов: 817
Рейтинг: 52
#3: 2009-10-28 01:54:51 ЛС | профиль | цитата
Pirr, Не, таймер это не дело
Сейчас у меня тестовый файлик маленький, отрабатывает быстро
а завтра у меня рабочий файлик большой, отрабатывает хз когда.
Надо универсальность.
карма: 1

0
Ответов: 409
Рейтинг: 17
#4: 2009-10-28 02:53:45 ЛС | профиль | цитата
Вот кусок из моей программы где была подобная задача, думаю разберешся:
code_15392.txt
карма: 0

0
файлы: 1code_15392.txt [1.4KB] [120]
Ответов: 817
Рейтинг: 52
#5: 2009-10-28 03:17:39 ЛС | профиль | цитата
Эх, не хотел я ставить таймер, но видимо придется
Pirr, Спасибо
карма: 1

0
Ответов: 409
Рейтинг: 17
#6: 2009-10-28 03:29:22 ЛС | профиль | цитата
У меня там таймер для другого, таймер нужен для опроса процессов.

карма: 0

0
Ответов: 373
Рейтинг: 108
#7: 2009-10-28 03:46:36 ЛС | профиль | цитата
-= DriveR =-
code_15393.txt

карма: 0

0
файлы: 1code_15393.txt [527B] [119]
Ответов: 4641
Рейтинг: 334
#8: 2009-10-28 04:38:55 ЛС | профиль | цитата
Vlad.- писал(а):
code_15393.txt
Vlad.-, думаю в отдельном потоке не обязательно запускать. можно обойтись хабом.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 373
Рейтинг: 108
#9: 2009-10-28 04:51:26 ЛС | профиль | цитата
Ravilr, Программа запускается в режиме ожидания, если не запускать в отдельном потоке подвиснет основная.
карма: 0

0
Ответов: 817
Рейтинг: 52
#10: 2009-10-28 04:58:37 ЛС | профиль | цитата
Vlad.-, Спасибо, то что надо
А не подскажите, почему шрифт изменился на такой?
Искать
Поставил только новую версию
карма: 1

0
Ответов: 373
Рейтинг: 108
#11: 2009-10-28 05:30:37 ЛС | профиль | цитата
-= DriveR =- писал(а):
Искать
это кодировка UTF8
-= DriveR =- писал(а):
А не подскажите, почему шрифт изменился на такой?

Выйти из ситуации можно таким образом: открываем regedit, идём по пути HKEY_LOCAL_MACHINE /SYSTEM/CURRENTCONTROLSET/CONTROL/NLS/CODEPAGE и меняем значения параметров: 1250, 1251 и 1252 на "cp_1251.nls" везде. Выходим, перезагружаемся!

Не всегда удается добиться корректной работы. Приходится еще изменять cp_1253.nls и cp_1254.nls на cp_1251.nls. В Windows 2000/XP c_1253.nls и c_1254.nls на c_1251.nls (обратите внимание, что значение несколько изменилось). Но и этого бывает не достаточно, нужно открыть в текстовом редакторе файл Win.ini. Найти в нем секцию
[FontSubstitutes]
а в секции строку Arial,0= (если вдруг не окажется, то создать) и превратить ее в Arial,0=Arial,204. Сохранить, закрыть, перезагрузить.

карма: 0

0
Ответов: 409
Рейтинг: 17
#12: 2009-10-28 09:59:45 ЛС | профиль | цитата
Vlad.- писал(а):
Программа запускается в режиме ожидания, если не запускать в отдельном потоке подвиснет основная.

Минус такого варианта в том, что пока консольное приложение не отработает, контроль программе не отдается. В результате на экране мы имеем заступорившуюся форму, сделать с ней практически ничего нельзя (сдвинуть, свернуть и т.д.).
Если же после запуска консольной программы отдать управление нашему приложению, а затем мониторить процессы, то такого не происходит, наша форма будет легко откликаться на действия пользователя.
Иногда хочется скрыть результаты работы консольной программы (или её окно) а пользователя предупредить, чтобы он ничего пока не делал т.к. идёт работа программы.
Именно такой вариант я и реализовал в своем проекте, кусок из которого здесь и привел.
карма: 0

0
12
Сообщение
...
Прикрепленные файлы
(файлы не залиты)