Funzione SetThreadUILanguage (winnls.h)

Imposta la lingua dell'interfaccia utente per il thread corrente.

Windows Vista e versioni successive: Questa funzione non può cancellare l'elenco delle lingue dell'interfaccia utente preferite del thread. L'applicazione MUI deve chiamare SetThreadPreferredUILanguages per cancellare l'elenco di lingue.

Windows XP: Questa funzione è limitata a consentire al sistema operativo di identificare e impostare un valore sicuro da usare nella console di Windows.

Sintassi

LANGID SetThreadUILanguage(
  [in] LANGID LangId
);

Parametri

[in] LangId

Identificatore della lingua per la lingua dell'interfaccia utente per il thread.

Windows Vista e versioni successive: L'applicazione può specificare un identificatore di lingua pari a 0 o un identificatore diverso da zero. Per altre informazioni, vedere la sezione Osservazioni.

Windows XP: L'applicazione può impostare questo parametro solo su 0. Questa impostazione causa la selezione della lingua che supporta meglio la visualizzazione della console. Per altre informazioni, vedere la sezione Osservazioni.

Valore restituito

Restituisce l'identificatore della lingua di input se ha esito positivo. Se l'identificatore di input è diverso da zero, la funzione restituisce tale valore. Se l'identificatore della lingua è 0, la funzione ha sempre esito positivo e restituisce l'identificatore della lingua che supporta meglio la console di Windows. Vedere la sezione relativa alle osservazioni.

Se l'identificatore della lingua di input è diverso da zero e la funzione ha esito negativo, il valore restituito differisce dall'identificatore della lingua di input. Per ottenere informazioni sull'errore estese, l'applicazione può chiamare GetLastError.

Commenti

Quando viene creato un thread, l'impostazione della lingua dell'interfaccia utente thread è vuota e l'interfaccia utente per il thread viene visualizzata nella lingua selezionata dall'utente. Questa funzione consente all'applicazione di modificare la lingua dell'interfaccia utente per il thread in esecuzione corrente.

Windows Vista e versioni successive: La chiamata a questa funzione e la specifica di 0 per l'identificatore della lingua è identica alla chiamata di SetThreadPreferredUILanguages con il set di flag di MUI_CONSOLE_FILTER. Se l'applicazione specifica un identificatore di lingua non zero valido, la funzione imposta un determinato linguaggio dell'interfaccia utente per il thread. Dopo aver specificato 0 per l'identificatore della lingua, l'applicazione non può usare alcuna delle costanti seguenti per corrispondere a un identificatore della lingua:

Windows XP: Quando l'applicazione chiama questa funzione con un identificatore di lingua 0, la funzione verifica prima che l'interfaccia utente corrente non richieda Uniscrizioni e che sia supportata dalla tabella codici della console. Se l'interfaccia utente supera questi test, la funzione usa il valore specificato. In caso contrario, la funzione modifica la lingua dell'interfaccia utente thread in una lingua che la console di Windows può visualizzare. Windows XP non supporta un concetto di linguaggio dell'interfaccia utente thread separato dalle impostazioni locali del thread. Pertanto, questa funzione modifica le impostazioni locali del thread in Windows XP. È facile per l'applicazione impostare un thread per usare il linguaggio più appropriato per la visualizzazione della console, in base a lingue dell'interfaccia utente preferite dall'utente e al sistema, alla lingua per applicazioni non Unicode e alle funzionalità della console.

Firma C#

[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
        static extern System.UInt16 SetThreadUILanguage(
            System.UInt16 LangId
            );

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winnls.h (includere Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

GetThreadUILanguage

Interfaccia utente multilingue

Funzioni dell'interfaccia utente multilingue

SetThreadPreferredUILanguages