Форум: "Основная";
Текущий архив: 2009.11.08;
Скачать: [xml.tar.bz2];
ВнизОбщение между приложениями Найти похожие ветки
← →
Castello (2008-09-28 22:54) [0]Нужно сделать следующее. Есть некоторое приложение (мной написанное), тихо запускается, выполняет свою работу и не делает никаких оповещений (ни в окна, ни на консоль). Это, так сказать, его рабочий режим.
Но иногда нужно проверить, как проходит в нём работа. Что-то вроде Debug-режима. Только выглядеть это должно так: другое моё приложение запускает первое (скажем, с каким-нибудь ключём) и должно контроллировать его: отслеживать, что процесс выполняется и получать от него сообщения. Т.е. чтобы можно было вывести что-то типа progress bar для него.
Как это реализовать?
← →
Eraser © (2008-09-28 23:35) [1]> [0] Castello (28.09.08 22:54)
> Но иногда нужно проверить, как проходит в нём работа. Что-
> то вроде Debug-режима. Только выглядеть это должно так:
> другое моё приложение запускает первое (скажем, с каким-
> нибудь ключём) и должно контроллировать его: отслеживать,
> что процесс выполняется и получать от него сообщения. Т.е.
> чтобы можно было вывести что-то типа progress bar для него.
>
> Как это реализовать?
через named pipes проще всего.
← →
@!!ex © (2008-09-28 23:38) [2]Для прогресс бара вполне достаточно стандартных виндовых сообщений.
← →
Германн © (2008-09-29 00:19) [3]Ну и о TCP/IP не стоит забывать. Тогда можно будет контролировать с другого компьютера в сети. И при этом отпадет надобность в "особом запуске" с ключом.
← →
Eraser © (2008-09-29 00:28) [4]> [3] Германн © (29.09.08 00:19)
через именованные каналы тоже можно с другово компа.
← →
Германн © (2008-09-29 00:41) [5]
> Eraser © (29.09.08 00:28) [4]
Не знал.
А что про "особый запуск с ключом" в решении через именованные каналы?
← →
Eraser © (2008-09-29 01:27) [6]> [5] Германн © (29.09.08 00:41)
ну эт уже вопрос к автору )
как он там сконструирует уже. я так понял, что если процесс запущен с ключем /debug то приложение будет, грубо говоря, логировать свою работу в, к примеру, именованный канал.
← →
Городской Шаман (2008-09-29 01:34) [7]http://www.pcmag.ru/issues/detail.php?ID=9945
Ну и еще регистрация своих сообщений RegisterWindowMessage и отсылка SendMessage
Или memory mapped file
← →
Германн © (2008-09-29 01:45) [8]
> Eraser © (29.09.08 01:27) [6]
>
> > [5] Германн © (29.09.08 00:41)
>
> ну эт уже вопрос к автору )
> как он там сконструирует уже. я так понял, что если процесс
> запущен с ключем /debug то приложение будет, грубо говоря,
> логировать свою работу в, к примеру, именованный канал.
>
>
Не. Не то.
Я говоря про TCP/IP имел в виду, что данное приложение можно сделать TCPСервером, открывать всегда порт на прослушку и отправлять в этот порт информацию только если к этому порту подсоединён хотя бы один клиент. Имхо, накладные расходы в данном варианте самые низкие при сохранении полной универсальности.
← →
Дмитрий Белькевич © (2008-09-29 03:21) [9]Есть, кстати, еще такая замечательная штука, как TIdSysLog. Со стандартным протоколом и множеством разных "смотрелок". Её можно хоть в инете удалённо юзать. Очень бывает полезно, на самом деле...
← →
Дмитрий Белькевич © (2008-09-29 03:23) [10]зы: только TIdSyslogServer, конечно...
← →
Slym © (2008-09-29 04:14) [11]debuger.exe запускает основную прогу с перенаправлением StdIn/Out
myprog.exe /UseStdOut
прога анализирует наличие ключика и пользуется или не пользуется StdOut
← →
KSergey © (2008-09-29 11:17) [12]Я вот чего не понял: автор про другие компьютеры и про сеть речь вообще не вел.
Так может достаточно сделать одно приложение, котрое просто будет показывать или не будет (в зависимости от ключика) окно с прогресс баром? И этого достаточно?
Так же можно писаль логи (хотя бы просто проценты) в файл, который тут же в real-time просматривать через FAR. Хоть и с другого компьютера. Выводить в файл или нет опять же можно задавать ключиком.
← →
Leonid Troyanovsky © (2008-09-29 11:29) [13]
> KSergey © (29.09.08 11:17) [12]
> Так может достаточно сделать одно приложение, котрое просто
> будет показывать или не будет (в зависимости от ключика)
> окно с прогресс баром? И этого достаточно?
Не понятно, к чему, во-ще, тут извращения.
Если консольный вывод не нужен, то достаточно было project.exe > nul
--
Regards, LVT.
← →
KSergey © (2008-09-29 11:37) [14]> Leonid Troyanovsky © (29.09.08 11:29) [13]
> Если консольный вывод не нужен, то достаточно было project.exe > nul
консолька-то все равно появится на сколько я понимаю. "по-тихому" не выйдет :)
← →
Leonid Troyanovsky © (2008-09-29 13:04) [15]
> KSergey © (29.09.08 11:37) [14]
> консолька-то все равно появится на сколько я понимаю. "по-
> тихому" не выйдет :)
Слишком тихим место на погосте.
Бо, не консоль или вовсе без окна - не могут нормально
завершиться при логоф/шутдаун.
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2009.11.08;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.005 c