Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Консольные приложения


Oak ©   (2002-03-25 13:32:00) 

Хай! Проблема>> моя прога(веб-сервер) запускает процесс, являющийся консольным приложением (скрипт). Как бы мне прочесть, то что он (скрипт) выводит в консоль? В ReadConsole надо помимо прочего передавать hConsoleInput (тип HANDLE)... а как мне его получать?


ION T   (2002-03-26 15:10:00) [1]

Вот пример описанного выше способа (имхо намного проще, но с одним недостатком по сравнению с трубой - можно прочитать только видимый буфер, т.е. если что-то проскроллировалось вверх, то его уже не достанешь):

http://iont.virtualave.net/pub/delphi/readconsole.zip


VuDZ   (2002-03-26 01:01:00) [2]

господи, ну не ужели все на столько ленивые?
http://delphi.vitpc.com/mastering/part_1.htm


Витамин   (2002-03-25 22:03:00) [3]

А нельзя ли пример?


Юрий Зотов   (2002-03-25 15:27:00) [4]

1. Сначала вызовите AllocConsole
2. Используйте CreateProcess с bInheritHandles = True.
3. В StartupInfo пропишите:
- dwFlag с STARTF_USESTDHANDLES
- hStdInput = GetStdHandle(STD_INPUT_HANDLE)
4. Это и будет нужный Вам хэндл.
5. Не освобождайте хэндл дочернего процесса раньше времени.
6. В конце вызовите FreeConsole


Наверх

Титульная страница Поиск, карта сайта Написать письмо