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

Ваш аккаунт

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

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

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

Графический интерфейс к консольному приложению

7.5K
31 июля 2007 года
Dmitryl
55 / / 19.06.2007
Потребывалось создать новое приложение с графическим интерфейсом с функциональностью как у существующего консольного приложения, путем взаимодействия с этим существующим приложением. Вопрос: как обычно выполняется ввод в консольное приложение из другого приложения(перенаправление ввода не очень подходит)? Про вывод не спрашиваю, т. к. консольное приложение дублирует его в файле.
Спасибо!
4
01 августа 2007 года
mike
3.7K / / 01.10.2002
через пайпы: popen() и pclose()
294
02 августа 2007 года
Plisteron
982 / / 29.08.2003
Цитата: Dmitryl
Потребывалось создать новое приложение с графическим интерфейсом с функциональностью как у существующего консольного приложения, путем взаимодействия с этим существующим приложением. Вопрос: как обычно выполняется ввод в консольное приложение из другого приложения(перенаправление ввода не очень подходит)? Про вывод не спрашиваю, т. к. консольное приложение дублирует его в файле.
Спасибо!



Какая ОС? Если речь идёт о Windows (про другие системы, увы, не скажу -- не знаю), гугли по Anonymous Pipes.
http://www.codenet.ru/progr/bcb/pipes.php
http://sources.ru/cpp/using_anonymous_pipes.shtml
http://msdn2.microsoft.com/en-us/library/aa365139.aspx
http://en.wikipedia.org/wiki/Anonymous_pipe
http://forum.vingrad.ru/forum/topic-159665.html
http://symmetrica.net/uploads/linapi/linapi2.pdf

7.5K
02 августа 2007 года
Dmitryl
55 / / 19.06.2007
Цитата:
Какая ОС?

Windows.

Цитата:
через пайпы


А если приложение - DOS-приложение, а не обычная консолька?
Пробовал через пайпы осуществлять ввод\вывод, но пайп ломается, после того, как я из своего приложения запускаю дочерний процесс(DOS-приложение).

1.6K
03 августа 2007 года
Vov4ick
476 / / 01.02.2007
А программа интерактивная или может принимать необходимые параметры в командной строке?
3.3K
03 августа 2007 года
GENA_DJ
123 / / 08.03.2005
Если оба приложения - виндовые, то
1. файлы
2. общая память
3. переменные окружения
4. параметры ком. строки
5. перенаправление ввода
6. сокеты
7. пайпы
8. оконные сообщения
9. ключи реестра

В случае, если одно из приложений - DOS, то видимо только способы №№ 1, 3, 4, 5
7.5K
03 августа 2007 года
Dmitryl
55 / / 19.06.2007
[quote=Vov4ick]А программа интерактивная или может принимать необходимые параметры в командной строке? [/quote]
Параметры через командную строку не может принимать.
[quote=GENA_DJ]
1. файлы
3. переменные окружения
4. параметры ком. строки
5. перенаправление ввода
...
если одно из приложений - DOS, то видимо только способы №№ 1, 3, 4, 5[/quote]
1. и 3. Эти средства я еще не рассматривал. DOS-прил-е - чужое(мне известны только форматы команд и форматы ответов).
4. Параметры через командную строку не может принимать.
5. Перенаправить ввод(сделать его, скажем из файла, у меня не получилось).
Вот это прил-е.
1.6K
03 августа 2007 года
Vov4ick
476 / / 01.02.2007
Да это же терминалка! А свою не быстрее за 20 минут написать?
3.3K
03 августа 2007 года
ShadyMan
191 / / 15.07.2006
Цитата: Vov4ick
Да это же терминалка!



Да где же "терминалка"? Натуральное приложение DOS.

7.5K
03 августа 2007 года
Dmitryl
55 / / 19.06.2007
[QUOTE=Vov4ick]А свою не быстрее за 20 минут написать?[/QUOTE]
Нет, эта штука через ком порт общается с милиомметром.
Протокол общения мне вообще не известен. Его можно попытаться узнать вооружившись осциллографом: смотреть что за пакеты отсылаются, какие присылаются, но это ооочень уж не рационально!
[QUOTE=Vov4ick]Да это же терминалка![/QUOTE]
?!! Запускается ntvdm.exe - значит написано под DOS, если я не ошибаюсь. Поэтому это не просто терминалка.
1.6K
05 августа 2007 года
Vov4ick
476 / / 01.02.2007
Млин, народ. Терминал(ка) - это и есть программа для общения с чем-либо обычно по COM-порту (обычно с модемом, но не только). При чём здесь операционная система? Что вы хотели осциллом там смотреть? какие пакеты? Возьмите любой другой терминал, скажем ZOC или мастдайный Hyper Terminal или встроенный в DN, короче какой больше нравится и поговорите с вашим вольтметром.
7.5K
09 августа 2007 года
Dmitryl
55 / / 19.06.2007
Можно конечно и через терминал.
Проблема решилась: оказывается легче просто сделать свою программку(с помощью WinAPI работа с портом), чем взаимодействовать с терминалом и т. д.(а я то думал, что команды, которые я посылаю, кодируются и уже в таком виде передаются, а оказалось все гораздо проще: передаются непосредственно сами команды).
Спасибо за советы!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог