Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Tato funkce vyžaduje Windows 11 24H2 (build 26100) nebo novější.
Většina aplikací ve Windows je typu IMAGE_SUBSYSTEM_WINDOWS_GUI nebo IMAGE_SUBSYSTEM_WINDOWS_CUI . První je typická grafická aplikace s oknem, zatímco druhá aplikace se běžně označuje jako konzola nebo terminálová aplikace. Při spuštění aplikace označené jako IMAGE_SUBSYSTEM_WINDOWS_CUI jí bude přidělena konzola, ledaže by byla spuštěna v již existující relaci konzoly. Kromě toho bude provedení takové aplikace v prostředí, jako je CMD nebo PowerShell, zablokováno, dokud se aplikace nedokončí. Žádná z těchto možností není pro IMAGE_SUBSYSTEM_WINDOWS_GUI aplikace pravdivá. Konzola nebude přidělena a nebude blokovat provádění uvnitř shellu.
Co když chcete napsat aplikaci, která vypadá jako grafická aplikace při spuštění z Průzkumníka, ale můžete také zapsat výstup ladění do konzoly, pokud se spustí uvnitř existující konzolové relace? Chcete-li toho dosáhnout, sestavte aplikaci jako IMAGE_SUBSYSTEM_WINDOWS_CUI jednu (například pomocí /SUBSYSTEM:CONSOLE v MSVC) a přidejte následující manifest aplikace:
<?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>
Typ IMAGE_SUBSYSTEM_WINDOWS_CUI informuje prostředí, že musí blokovat, dokud vaše aplikace nedokončí provádění, zatímco manifest aplikace informuje operační systém, aby nepřiděloval konzoli.
Požadavky
| Minimální podporovaný klient | Windows 11 24H2 (build 26100) [jenom desktopové aplikace] |
| Minimální podporovaný server | Windows Server 2025 (build 26100) |