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