В Windows, как работает владение окна консоли?

Когда консольное приложение запускается из другого консольного приложения, как работает владение консолью?

Я вижу четыре возможности:

Второе приложение наследует консоль от первого приложения в течение срока его службы, при этом консоль возвращается исходному владельцу при выходе.Каждое приложение имеет свою консоль. Затем Windows каким-то образом объединяет содержимое двух компонентов в то, что «консоль» видна пользователюВторое приложение получает дескриптор консоли, которая принадлежит первому приложению.Консоль помещается в общую память, и оба приложения имеют равную «собственность»

Вполне возможно, что я что-то упустил, и ни один из этих четырех вариантов не описывает адекватно, что делает Windows со своими консолями.

Если ответ близок к варианту 4. Мой дополнительный вопрос: какой из двух процессов отвечает за управление окном? (Обработка графических обновлений, когда необходимо обновить / перерисовать экран и т. Д.)

Конкретный пример: запустить CMD. Затем, используя CMD, запустите [консольное приложение]. [Консольное приложение] запишет в то же самое окно консоли, которое использовала CMD.

Ответы на вопрос(6)

Ваш ответ на вопрос