Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Annotazioni
Questa funzionalità richiede Windows 11 24H2 (build 26100) o versione successiva.
La maggior parte delle applicazioni in Windows è di tipo IMAGE_SUBSYSTEM_WINDOWS_GUI o di IMAGE_SUBSYSTEM_WINDOWS_CUI . Il primo è un'applicazione tipica con finestra grafica, mentre quest'ultima è quella comunemente chiamata console o applicazione terminale. Quando si esegue un'applicazione contrassegnata come IMAGE_SUBSYSTEM_WINDOWS_CUI verrà allocata una console, a meno che non venga eseguita all'interno di una sessione della console esistente. Inoltre, l'esecuzione di tale applicazione all'interno di una shell come CMD o PowerShell verrà bloccata fino al termine dell'esecuzione dell'applicazione. Nessuno di questi valori è vero per le applicazioni IMAGE_SUBSYSTEM_WINDOWS_GUI . Non verrà allocata né una console, né verrà bloccata l'esecuzione all'interno di una shell.
Ora cosa accade se si vuole scrivere un'applicazione che sembra un'applicazione grafica quando viene eseguita da Explorer, ma è anche possibile scrivere l'output di debug nella console, se eseguito all'interno di una sessione della console esistente? A tale scopo, compilare l'applicazione come IMAGE_SUBSYSTEM_WINDOWS_CUI (ad esempio con /SUBSYSTEM:CONSOLE in MSVC) e aggiungere il seguente manifest dell'applicazione:
<?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>
Il tipo IMAGE_SUBSYSTEM_WINDOWS_CUI informa le shell che devono essere bloccate fino al termine dell'esecuzione dell'applicazione, mentre il manifesto dell'applicazione informa il sistema operativo di ignorare l'allocazione di una console.
Requisiti
| Client minimo supportato | Windows 11 24H2 (build 26100) [solo applicazioni desktop] |
| Server minimo supportato | Windows Server 2025 (build 26100) |