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

Вниз

Как прочитать из stderr?   Найти похожие ветки 

 
kull ©   (2003-11-10 12:17) [0]

Надо запустить exe файл, который пишет в stderr, и потом прочитать все, что он написал туда.

Как сделать?


 
Zergling ©   (2003-11-10 12:41) [1]

Надоже какой интересный вопрос. Как файл то запустить? Да и еще прочитать неизвестно что в неизвестно куда записанное.
Может разжуешь?


 
gek ©   (2003-11-10 12:47) [2]

Ну так он же написал

> Надо запустить exe файл, который пишет в stderr, и потом
> прочитать все, что он написал туда.


Значит надо запускать, тут никуда не деться.
Вопрос в том как прочить оттуда все, что он написал туда.

Вот это настоящая загадка


 
Anatoly Podgoretsky ©   (2003-11-10 13:24) [3]

Вместо STD_OUTPUT_HANDLE использовать STD_ERROR_HANDLE


 
willys ©   (2003-11-10 13:32) [4]

http://www.delphikingdom.com/mastering/std.htm


 
Zergling ©   (2003-11-11 07:27) [5]

А, вот кто такой stderr.
Sorry автору ветки.


 
Dimka Maslov ©   (2003-11-11 08:39) [6]

В глупых сях, рассчитанных на консольный режим раобты есть два потока вывода stdout (в паскале эквивалент переменной Output, в Delphi - то куда выводит информацию Writeln в консольных приложениях). А также stderr - поток вывода, в который записываются сообщения об ошибках, по умолчанию то же что и stdout). Ни в паскале ни в Delphi аналога этому рудименту нет, но "стандарт языка си" требует его поддержки.


 
Юрий Зотов ©   (2003-11-11 09:19) [7]

> kull © (10.11.03 12:17)

1. Заполняете TSecurityAttributes, разрешая наследование (последнее поле можно ставить в nil).
2. С этой TSecurityAttributes вызываете CreateFile и запоминаете полученный хэндл.
3. Заполняете TStartupInfo, указав этод хэндл в поле STD_ERR и включив во флаги USE_STD_HANDLES (поля STD_IN и STD_OUT можно заполнить вызовом GetStdHandle).
4. Вызываете CreateProcess с разрешением наследования хэндлов.

И в результате StdErr будет перенаправлен в Ваш файл. Аналогичным образом, вместо файла можно использовать канал (Pipe) - тогда вывод пойдет прямо в Вашу программу, а там уже можете его хоть в Memo выбрасывать.


 
willys ©   (2003-11-11 14:07) [8]

> Dimka Maslov © (11.11.03 08:39) [6]
ну вообше-то, stderr - это объект операционной системы, представляющий собой (с точки зрения программы) самый обычный текстовый файл. т.е. к "глупым сям" он имеет не больше отношения, чем какой-нибудь CreateWindow или SendMessage.


 
kull ©   (2003-11-12 15:36) [9]

Спасибо willys и Юрию Зотову, ну и всем остальным...


 
kull ©   (2003-11-12 15:40) [10]

Прошу извинить за глупый вопрос, но как мне получить Exit Code запущенного exe-шника?


 
Digitman ©   (2003-11-12 15:45) [11]

действительно - глупый

потому как хэлп при попытке хоть сколь либо пошевелить мозгами тут же выкидывает инф-цию :

GetExitCodeProcess()


 
kull ©   (2003-11-12 15:57) [12]


> Digitman © (12.11.03 15:45) [11]

Thanks.
PS:А вообще-то глупых вопросов нет. Есть глупые ответы.


 
Digitman ©   (2003-11-12 16:00) [13]

никак задело ?)
надо же)


 
kull ©   (2003-11-12 16:14) [14]

Удалено модератором
Примечание: Начинать с себя и без искажений ников


 
kull ©   (2003-11-12 16:19) [15]

Удалено модератором
Примечание: Повторение приведет другим последстивиям и не трогай модератора, болше предупреждений не будет.


 
kull ©   (2003-11-12 16:23) [16]

Удалено модератором


 
Digitman ©   (2003-11-12 16:26) [17]


> kull


это уж будь любезен в "Потрепаться" поплакаться на мою якобы "жесткость") ... ничего против не имею))))


 
kull ©   (2003-11-12 16:27) [18]

Удалено модератором
Примечание: Ну что ж, отдохка, пока добровольно в течении 1 суток и не думай нарушать режим


 
Digitman ©   (2003-11-12 16:28) [19]


> kull


там же, в "Потрепаться", я и вспомню все твои амбициозные выпады в адрес местного люда... коль осмелишься тему поднять)) ... уверяю - мягко-мягко так "вспомню")))


 
kull ©   (2003-11-12 17:34) [20]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2003.11.24;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.018 c
1-78971
GrYRI
2003-11-14 15:06
2003.11.24
Траблы с фор ду или с руками.


14-79107
VEG
2003-11-01 21:01
2003.11.24
Проблема


1-78939
Игор
2003-11-07 02:56
2003.11.24
прозрачный курсор


1-78979
Катерина
2003-11-14 13:40
2003.11.24
Убрать HotKeys в меню


8-79070
JTAG
2003-07-28 13:39
2003.11.24
Преобразование текста в набор пикселов.