Поймать вывод из Win32 Консольной программы - PullRequest
2 голосов
/ 19 августа 2010

пожалуйста, возможно ли перехватить вывод из консольной программы?Я хотел бы написать графический интерфейс для консольного приложения, но мне нужно получить его вывод.

Ответы [ 2 ]

4 голосов
/ 19 августа 2010

Если в выводе программы используется стандартное завершение или стандартная ошибка, вы можете использовать перенаправление оболочки, чтобы перенаправить вывод программы в файл (который может прочитать ваш графический интерфейс).Например:

console_app.exe >stdout.log 2>stderr.log

Если вы хотите прочитать выходные данные программы в режиме реального времени (во время ее работы), вам нужно будет предоставить некоторые дополнительные сведения о вашей программе с графическим интерфейсом.Какой язык (языки) вы используете?Какая операционная система (ы)?

2 голосов
/ 19 августа 2010

Если вы хотите захватить выходные данные при запуске процесса командной строки, вы должны использовать функцию Windows API CreateProcess ().По сути, вы должны создать 'pipe' для вывода и назначить его дескриптор для stdout.Затем вы читаете из него, как если бы это был файл во время работы программы командной строки.

Точная реализация того, как это делается, будет зависеть от того, какой язык вы используете.Вы оставили это вне своего вопроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...