Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Observação
Este recurso requer o Windows 11 24H2 (build 26100) ou posterior.
A maioria dos aplicativos no Windows são do tipo IMAGE_SUBSYSTEM_WINDOWS_GUI ou IMAGE_SUBSYSTEM_WINDOWS_CUI . O primeiro é um típico aplicativo gráfico em janelas, enquanto o segundo é o que é comumente chamado de console ou aplicativo de terminal. Ao executar um aplicativo marcado como IMAGE_SUBSYSTEM_WINDOWS_CUI será alocado um console, a menos que seja executado dentro de uma sessão de console existente. Além disso, a execução de tal aplicativo dentro de um shell como CMD ou PowerShell será bloqueada até que o aplicativo termine de ser executado. Nenhuma destas opções é verdadeira para IMAGE_SUBSYSTEM_WINDOWS_GUI aplicações. Não será alocado um console, nem impedirá a execução dentro de um shell.
Agora, e se você quiser escrever um aplicativo que pareça um aplicativo gráfico quando executado a partir do Explorer, mas você também pode gravar a saída de depuração no console, se executado dentro de uma sessão de console existente? Para conseguir isso, crie seu aplicativo como um IMAGE_SUBSYSTEM_WINDOWS_CUI (por exemplo, com /SUBSYSTEM:CONSOLE no MSVC) e adicione o seguinte manifesto do aplicativo:
<?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>
O tipo IMAGE_SUBSYSTEM_WINDOWS_CUI informa os shells que eles precisam bloquear até que seu aplicativo termine de executar, enquanto o manifesto do aplicativo informa o sistema operacional para ignorar a alocação de um console.
Requerimentos
| Cliente mínimo suportado | Windows 11 24H2 (compilação 26100) [apenas aplicações de ambiente de trabalho] |
| Servidor mínimo suportado | Windows Server 2025 (compilação 26100) |