Создание процесса, подключенного к консоли, но с перенаправленными стандартными дескрипторами ввода-вывода - PullRequest
2 голосов
/ 02 мая 2011

У меня есть приложение командной строки, которое выполняет другие программы в соответствии с предоставленным пользователем сценарием. Некоторые из выполняемых дочерних процессов cmd.exe выполняют различные .cmd сценарии. Некоторые из сценариев .cmd устанавливают заголовок окна консоли с помощью команды оболочки Windows title. И здесь проблема. Если пользователь запрашивает запись выходных данных дочернего процесса, я использую каналы для стандартных дескрипторов, чтобы получить выходные данные дочернего процесса. Однако из-за этого дочерний процесс не присоединяется к консоли, на которой выполняется мое приложение, и поэтому команда title перестает работать, перестает изменять заголовок окна консоли.

Можно ли создать процесс с перенаправленными стандартными дескрипторами, но такой, который все еще присоединен к консоли родительского процесса, так что команда title работает?

1 Ответ

2 голосов
/ 02 мая 2011

Очевидно, что все, что нужно сделать для присоединения дочернего процесса к консоли родителя, это , а не использовать dwCreationFlags |= CREATE_NO_WINDOW;.

...