Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.01;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-556
R
2003-04-18 01:58
2003.05.01
Реализация события клика кнопки в окне созданном динамически


3-453
Wedos
2003-04-14 10:55
2003.05.01
Фильтрация по 2 полям


8-652
Алексей Ч.
2003-01-11 02:09
2003.05.01
Как сделать программу, которая выдает список запущенных процессов


3-378
ZooN
2003-04-14 22:03
2003.05.01
MySQL


4-828
Darkman
2003-03-02 17:07
2003.05.01
MoseEnter/MouseLeave для MainMenu