Re[2]: Как запустить одну программу из другой
От: Andrew S Россия http://alchemy-lab.com
Дата: 18.05.04 15:03
Оценка: +1
K_G>>Есть досовский ехе и исходник проги... нужно сделать красивый интерфейс(переделывать лень) можно ли его запустить из Дельфевской проги передать в него свои данные и забрать его данные... Как это сделать???
G> А можно сделать через пайпы. Пример есть на wasm.ru в уроках Iczelion'а. Могу запостить урок сюда, если модератор не будет против.

Думаю, модератор будет против, поскольку пример есть в мсдн. Незачем засорять форум подобным тривиальным кодом.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/creating_a_child_process_with_redirected_input_and_output.asp

Насколько я помню, это будет работать, только если целевой процесс использует стандартные потоки для вывода. При непосредственном выводе (либо напрямую в соотв. адреса видеопамяти, либо при помощи соотв. функций дос\биос\crt) это работать не будет.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Как запустить одну программу из другой
От: Kyber_Girl  
Дата: 18.05.04 09:39
Оценка:
Есть досовский ехе и исходник проги... нужно сделать красивый интерфейс(переделывать лень) можно ли его запустить из Дельфевской проги передать в него свои данные и забрать его данные... Как это сделать???
Re: Как запустить одну программу из другой
От: gandalf_g Россия  
Дата: 18.05.04 10:10
Оценка:
Здравствуйте, Kyber_Girl, Вы писали:

K_G>Есть досовский ехе и исходник проги... нужно сделать красивый интерфейс(переделывать лень) можно ли его запустить из Дельфевской проги передать в него свои данные и забрать его данные... Как это сделать???


Самое простое передачу данных организовать через текстовый файл, или бинарный с определенной структурой (Если входных данных немного в DOS прогу, то можно передать данные через аргументы при запуске). Запуск организовать это не проблема, если воспользоваться поиском.
Have fun...
Re: Как запустить одну программу из другой
От: glyph  
Дата: 18.05.04 13:56
Оценка:
Здравствуйте, Kyber_Girl, Вы писали:

K_G>Есть досовский ехе и исходник проги... нужно сделать красивый интерфейс(переделывать лень) можно ли его запустить из Дельфевской проги передать в него свои данные и забрать его данные... Как это сделать???

А можно сделать через пайпы. Пример есть на wasm.ru в уроках Iczelion'а. Могу запостить урок сюда, если модератор не будет против.
Re[3]: Как запустить одну программу из другой
От: glyph  
Дата: 19.05.04 05:42
Оценка:
Здравствуйте, Andrew S, Вы писали:
AS>Думаю, модератор будет против, поскольку пример есть в мсдн. Незачем засорять форум подобным тривиальным кодом.
AS>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/creating_a_child_process_with_redirected_input_and_output.asp

AS>Насколько я помню, это будет работать, только если целевой процесс использует стандартные потоки для вывода. При непосредственном выводе (либо напрямую в соотв. адреса видеопамяти, либо при помощи соотв. функций дос\биос\crt) это работать не будет.

Естественно.
Re[2]: Как запустить одну программу из другой
От: Аноним  
Дата: 21.05.04 07:34
Оценка:
Здравствуйте, glyph, Вы писали:

G>Здравствуйте, Kyber_Girl, Вы писали:


G> А можно сделать через пайпы. Пример есть на wasm.ru в уроках Iczelion'а. Могу запостить урок сюда, если модератор не будет против.


Спасибо большое... Попробую теперь разобраться в этом...
Re[3]: Как запустить одну программу из другой
От: Аноним  
Дата: 21.05.04 07:35
Оценка:
AS>Думаю, модератор будет против, поскольку пример есть в мсдн. Незачем засорять форум подобным тривиальным кодом.
AS>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/creating_a_child_process_with_redirected_input_and_output.asp

AS>Насколько я помню, это будет работать, только если целевой процесс использует стандартные потоки для вывода. При непосредственном выводе (либо напрямую в соотв. адреса видеопамяти, либо при помощи соотв. функций дос\биос\crt) это работать не будет.


И Вам спасибо!!! %)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.