Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
15-1252653672
KSergey
2009-09-11 11:21
2009.11.08
SSI+PHP


15-1252441811
Юрий
2009-09-09 00:30
2009.11.08
С днем рождения ! 9 сентября 2009 среда


15-1252325871
desc
2009-09-07 16:17
2009.11.08
Вопрос большей степени касается Администраторов сетей.


15-1252530327
Германн
2009-09-10 01:05
2009.11.08
Куда делось нормальное меню "Администрирование"?


15-1252568155
tesseract
2009-09-10 11:35
2009.11.08
Репетиция дня пргораммиста





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский