Главная страница
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.01 c
3-438
-=DeMoH=-
2003-04-13 14:58
2003.05.01
Помогите с Excel !!!


14-789
tytus
2003-04-15 17:24
2003.05.01
Вид компонент


7-808
Sego
2003-03-13 12:15
2003.05.01
Эмуляция CD-Rom Из папки


14-679
Omar2002
2003-04-15 21:54
2003.05.01
Значки


14-791
pasha_golub
2003-04-15 17:31
2003.05.01
Лень