Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];

Вниз

DOS+Windows   Найти похожие ветки 

 
Andrey   (2003-03-11 11:03) [0]

Вопрос: Как организовать общение DOS-приложения (D) с Windows-приложением (W).

Собственно понятно, что можно через создание файла на диске сообщить W-приложению о каком-то событии и даже передеть данные. Но это не подходит для обратной связи W->D.

Так же вычитал у Тейксейры и Пачеко, что можно организовать такой общение через OLE1-OLE2.

А вопрос где бы про это OLE1 почитать?


P.S. Если есть другие способы организации подобного общения было бы очень интересно услышать.


 
Opuhshii   (2003-03-11 14:15) [1]

Pipes


 
Cobalt   (2003-03-11 14:21) [2]

OLE? Гм, странно.
Насколько я знаю, можно сделать нечто вроде интерактивного общения через ввод-вывод(Win-прога запускает Дос-прогу, переназначая ей хендлы stdin/stdout/stderr), ну и надо разработать протокол общения.
Например, Дос-прога выводит сообщение, что, мол, данные готовы, пресс эни кей :-) Вин прога посылает кей, и читает данные. Или в тексте сообщения - имя файла, в котором данные лежат.
А еще можно зашифровать все...


 
Andrey   (2003-03-11 14:38) [3]

>Opuhshii
Если можно поподробнее.

>Cobalt
>stdin/stdout
Хм... Может быть, но как-то нехочется их переназначать т.к. DOS-приложение активно работает с консолью, а переназначение (насколько я понимаю) приведет к полной неработоспособности консоли.

А через файлы опятьже нехочется, т.к. получается односторонний поток D->W и крайне медленно.


 
Cobalt   (2003-03-11 16:23) [4]

Под переназначением подразумевается то, что прога пишет/читает не на/с экран/а (стандартный stdin/stdout), а в твои хендлы (кажись, это и есть пайпы(? не уверен)).
И ты сможешь перехватывать ввод/вывод Дос-проги


 
Andrey   (2003-03-11 16:51) [5]

>Cobalt
Насколько я понимаю stdout - это стандартное устройство вывода (грубо говоря handle окна консоли). Если его переназначить значит на консоль ничего небудет писатся, а будет передаватся в то куда я переназначу. Значит чтоб пользователь незаметил разници нужно из Win-программы анализировать то что мне передает DOS-приложение и дублировать на консоль ту часть которая предназначается не Win, а пользователю. Тоже самое и с stdin...

Нет. Это всеравно, что прислонить к дому подъемный кран чтоб забиратся на второй этаж.


А pipes, насколько я понял имеются ввиду Named Pipes? С этим неимел дела, незнаю...


 
Cobalt   (2003-03-12 09:05) [6]

> Andrey © (11.03.03 16:51)
Вот блин, так у тебя еще и пользователь работает с Дос-прогой?
В ТЗ не было никакого пользователя!!!
Огласите ВСЁ ТЗ, пожалста!


 
Vlad V. Oshin   (2003-03-12 12:53) [7]


> Но это не подходит для обратной связи W->D.

почему?



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
3-453
Wedos
2003-04-14 10:55
2003.05.01
Фильтрация по 2 полям


4-838
hedgehoge
2003-03-04 02:10
2003.05.01
Передать в консоль


3-480
Dick
2003-04-14 16:30
2003.05.01
Access и blobs


14-683
Dr.Karter
2003-04-15 15:28
2003.05.01
Одни пути, а дни дороги


14-793
Bboy
2003-04-15 20:21
2003.05.01
Проблемы с Far





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский