Показать сообщение отдельно
  #1  
Старый 26.06.2006, 15:15
101 101 вне форума
Прохожий
 
Регистрация: 26.06.2006
Сообщения: 1
Репутация: 10
По умолчанию Возникла проблема с ДОС-приложением и передачей параметров ему

Пишу программу на Дельфи, которая использует рез-ты работы другой программы (написанной на фортране). Вторая программа считывает файл исходных данных. Но автоматически передать ей название этого файла нельзя. Т.е. сначала нужно запустить программу, а потом в ДОС окне вбить файл-исходник и файл-результатов работы проги. Есть ли возможность перехватить данные из ДОС-окна данной программы, для того, чтобы через дельфи вбить их и автоматизировать процесс, дабы пользователь не делал это вручную.
Пытался что-то понять в ДельфиВорлд (/base/run_console_and_get_its_out.html) в разделе про ДОС-приложения, но получил мало полезной информации.
В частности научился через cmd.exe передавать параметр для запуска моей программы (kob.exe), как '/c kob.exe', но во-первых, пока работает окно с программой (kob.exe) данные из ДОС-окна в MEMO не передаются, а во вторых происходит только считывание, а ввод из дельфей в консоль cmd произвести нельзя.
Как я понимаю нужно помимо
CreateProcess(nil, PChar(_exeName + ' ' + _cmdLine), nil, nil, True,
0, nil, PChar(_dirName), start, procInfo)

использовать второе обращение к _exeName, но тогда возникает вопрос - как передавать параметр непосредственно kob.exe, а не cmd.exe?
Ответить с цитированием