В Windows, как работает владение окна консоли?
Когда консольное приложение запускается из другого консольного приложения, как работает владение консолью?
Я вижу четыре возможности:
Второе приложение наследует консоль от первого приложения в течение срока его службы, при этом консоль возвращается исходному владельцу при выходе.Каждое приложение имеет свою консоль. Затем Windows каким-то образом объединяет содержимое двух компонентов в то, что «консоль» видна пользователюВторое приложение получает дескриптор консоли, которая принадлежит первому приложению.Консоль помещается в общую память, и оба приложения имеют равную «собственность»Вполне возможно, что я что-то упустил, и ни один из этих четырех вариантов не описывает адекватно, что делает Windows со своими консолями.
Если ответ близок к варианту 4. Мой дополнительный вопрос: какой из двух процессов отвечает за управление окном? (Обработка графических обновлений, когда необходимо обновить / перерисовать экран и т. Д.)
Конкретный пример: запустить CMD. Затем, используя CMD, запустите [консольное приложение]. [Консольное приложение] запишет в то же самое окно консоли, которое использовала CMD.