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

Вниз

Проблемма с консольными DOS приложениями.   Найти похожие ветки 

 
DDS   (2003-10-23 23:12) [0]

Я запускаю DOS-прогу и хочу получить текст того, что она писала
Например: c:\command.com > log.txt
Но некоторые проги почему-то не хотят создавать логи таким образом. Я это делаю через CreateProces.
К стати в FARе из коммандной строки все создается.


 
Dima_dvp   (2003-10-23 23:56) [1]

Вообще не понимаю как у тебя получилось это с некоторыми прогами. Символ ">" при вызове CreateProcess передаётся программе как аргумент, а при вызове из консоли этот символ не передаётся программе, а говорит ОС о том что надо весь вывод перенаправить в тот поток, который указан после ">" (это файл или дисплей, или порт, ...).
Я могу ошибаться, поправьте меня если я не прав.
Мною сказаное точно справедливо для чистого ДОС


 
Jel ©   (2003-10-24 15:45) [2]

Можно попробовать использовать Pipes, но, к сожалению, это не универсальное средство. Есть много программ вывод которых таким образом не перехватывается.


 
nikkie ©   (2003-10-24 17:56) [3]

символ > воспринимается интерпретатором команд как указание перенаправить вывод в файл. либо в CreateProcess надо передать строку типа "cmd.exe c:\command.com > log.txt", либо надо работать с pipes - CreatePipe, передать созданный пайп как hStdOutput, hStdError в CreateProcess, указав STARTF_USESTDHANDLES. в поиске найдешь пример кода.



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
14-62276
Митяй
2003-11-24 18:36
2003.12.19
Delphi7...


3-61920
Новичек
2003-11-25 14:08
2003.12.19
Как определить почему возникает access violation? :(


3-61939
Kraks
2003-11-19 08:27
2003.12.19
ADO, Access и защищённая база


4-62333
Andry
2003-10-27 00:30
2003.12.19
Можно ли перехватить события


1-62141
loki128
2003-12-07 12:54
2003.12.19
COM