Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Для этой функции требуется Windows 11 24H2 (сборка 26100) или более поздняя версия.
Большинство приложений в Windows относятся к типу IMAGE_SUBSYSTEM_WINDOWS_GUI или IMAGE_SUBSYSTEM_WINDOWS_CUI . Первое является типичным графическим оконным приложением, в то время как последнее обычно называется консольным или терминальным приложением. При запуске приложения, помеченного как IMAGE_SUBSYSTEM_WINDOWS_CUI, ему будет выделена консоль, если приложение не выполняется внутри существующего сеанса консоли. Кроме того, выполнение такого приложения внутри оболочки, например CMD или PowerShell, блокируется до завершения выполнения приложения. Ни для IMAGE_SUBSYSTEM_WINDOWS_GUI приложений они не соответствуют действительности. Ему не будет выделена консоль и не будет блокировки выполнения в командной оболочке.
Теперь что делать, если вы хотите написать приложение, похожее на графическое приложение при запуске из обозревателя, но можно также записать выходные данные отладки в консоль, если запуститься внутри существующего сеанса консоли? Для этого создайте своё приложение как IMAGE_SUBSYSTEM_WINDOWS_CUI приложение (например, с использованием /SUBSYSTEM:CONSOLE в MSVC) и добавьте следующий файл манифеста приложения:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<application>
<windowsSettings>
<consoleAllocationPolicy xmlns="http://schemas.microsoft.com/SMI/2024/WindowsSettings">detached</consoleAllocationPolicy>
</windowsSettings>
</application>
</assembly>
Тип IMAGE_SUBSYSTEM_WINDOWS_CUI сообщает оболочкам, что они должны блокироваться до завершения выполнения приложения, в то время как манифест приложения сообщает операционной системе пропустить выделение консоли.
Требования
| Минимальный поддерживаемый клиент | Windows 11 24H2 (сборка 26100) [только настольные приложения] |
| Минимальный поддерживаемый сервер | Windows Server 2025 (сборка 26100) |