Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Взаимодействие с консольными приложениями в Windows

10K
24 февраля 2005 года
frug
2 / / 24.02.2005
Подскажите пожалуйста как можно взаимодействовать с консольными приложениями, которые принимают параметры в командной строке (ну это понятно), а как получить данные, которые приложение выводит непосредственно на консоль?:-?
2
24 февраля 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by frug
Подскажите пожалуйста как можно взаимодействовать с консольными приложениями, которые принимают параметры в командной строке (ну это понятно), а как получить данные, которые приложение выводит непосредственно на консоль?:-?



а кто будет получателем? куда их надо перенаправить?

10K
24 февраля 2005 года
frug
2 / / 24.02.2005
Цитата:
Originally posted by squirL


а кто будет получателем? куда их надо перенаправить?



а получателем будет текстовый буффер

2
24 февраля 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by frug

а получателем будет текстовый буффер



хм... ну если уже после запуска программы - то есть такая штука как перенаправление вывода:

C:\test\program.exe > file.txt

а если в программе, то вообще не вижу проблемы - переопределяется дескриптор стандартного потока вывода, вывод идет во временный тестовый файл, потом файл обрабатывается и удаляется.

259
24 февраля 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by squirL


хм... ну если уже после запуска программы - то есть такая штука как перенаправление вывода:

C:\test\program.exe > file.txt

а если в программе, то вообще не вижу проблемы - переопределяется дескриптор стандартного потока вывода, вывод идет во временный тестовый файл, потом файл обрабатывается и удаляется.


Либо глобальную область в памяти разместить и туда писать.

2
24 февраля 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by AlexandrVSmirno

Либо глобальную область в памяти разместить и туда писать.



ИМХО, использование глобальных переменных не есть хороший стиль программирования.

3.6K
24 февраля 2005 года
kuljok
64 / / 16.03.2004
Цитата:
Originally posted by frug
Подскажите пожалуйста как можно взаимодействовать с консольными приложениями, которые принимают параметры в командной строке (ну это понятно), а как получить данные, которые приложение выводит непосредственно на консоль?:-?



Через pipe(по моему) можно полностью перенаправить весь вывод к себе...(куда угодно) и делать с ним что угодно. (если память не подводит, то нужно CreateProcess вызвать соответствующим образом) У меня де-то класс написанный валяется для этих целей (не мой правда, какая-то прога декодер его юзала, я оттуда взял попользоваться). Написано на Delphi. Если надо, обращайся.

Читает в отдельном потоке, при получении из консольного приложения строки, вызывет соответствующее событие.

391
25 февраля 2005 года
Archie
562 / / 03.02.2005
А вот если у меня есть консольная программа, которая вывод свой делает посредством прямого обращения к памяти [B800:0000], как мне получить ее вывод? Тут никакие пренаправления не работают.
Да, система использует страничную адресацию для этого, но вот как можно поиметь систему для доступа к страницам другого приложения?..
259
25 февраля 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Archie
А вот если у меня есть консольная программа, которая вывод свой делает посредством прямого обращения к памяти [B800:0000], как мне получить ее вывод? Тут никакие пренаправления не работают.
Да, система использует страничную адресацию для этого, но вот как можно поиметь систему для доступа к страницам другого приложения?..


Во людям делать нечего, кроме как видеобуфер разбирать. Лучше используйте сохранение в tmp-файл, как советовал squirl

391
25 февраля 2005 года
Archie
562 / / 03.02.2005
Цитата:
Originally posted by AlexandrVSmirno

Во людям делать нечего, кроме как видеобуфер разбирать. Лучше используйте сохранение в tmp-файл, как советовал squirl


:) Это все хорошо, если консольная прога у тебя в исходниках валяется...

259
25 февраля 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Archie

:) Это все хорошо, если консольная прога у тебя в исходниках валяется...


Спроси у железячников, они тебе лучше расскажут. (Низкоуровневое программирование)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог