Версия Windows 10.0.17763.1
Функция CreateConsoleScreenBuffer :
Консоль может иметь несколько экранных буферов, но только один активный экранный буфер. Неактивные экранные буферы доступны для чтения и записи, но отображается только активный экранный буфер . Чтобы сделать новый буфер экрана активным буфером экрана, используйте функцию SetConsoleActiveScreenBuffer.
Эта функциональность нарушена - текст, отправленный в неактивный экранный буфер, оказывается в активном и, таким образом, виден на экране.
В устаревшем режиме этого не происходит.
Минимальный проект для воспроизведения проблемы прилагается.
Спасибо. К счастью/к сожалению, у вас все в порядке, и вы регистрируете ошибки быстрее, чем я успеваю их исследовать и исправлять.
Я зарегистрировал это внутри как MSFT: 19317384. Я займусь этим, когда у меня будет время.
Стоит отметить, что это происходит только при запуске из Visual Studio, которая по умолчанию делает это через собственный помощник VsDebugConsole.exe.
В ПОРЯДКЕ. Я исследовал это, создал исправление, проверил его и проверил на сегодняшний день.
Я также установил вариант образца, который вы предоставили, в наш набор тестов функций, чтобы убедиться, что мы не испортим это снова в будущем. Или, по крайней мере, чтобы мы не испортили это очень специфическим образом. :П
Большое спасибо за предоставление минимального репродукционного кода. Это резко ускорило темпы, с которыми я мог исправить эту ошибку.
Он должен появиться в инсайдерских сборках примерно через 3 недели.
Самый полезный комментарий
Спасибо. К счастью/к сожалению, у вас все в порядке, и вы регистрируете ошибки быстрее, чем я успеваю их исследовать и исправлять.
Я зарегистрировал это внутри как MSFT: 19317384. Я займусь этим, когда у меня будет время.