Função SetThreadUILanguage (winnls.h)
Define o idioma da interface do usuário para o thread atual.
Windows Vista e posterior: Essa função não pode limpar a lista de idiomas de interface do usuário preferenciais do thread. Seu aplicativo MUI deve chamar SetThreadPreferredUILanguages para limpar a lista de idiomas.
Windows XP: Essa função é limitada a permitir que o sistema operacional identifique e defina um valor seguro para usar no console do Windows.
Sintaxe
LANGID SetThreadUILanguage(
[in] LANGID LangId
);
Parâmetros
[in] LangId
Identificador de idioma para o idioma da interface do usuário para o thread.
Windows Vista e posterior: O aplicativo pode especificar um identificador de idioma de 0 ou um identificador diferente de zero. Para obter mais informações, consulte a seção Comentários.
Windows XP: O aplicativo só pode definir esse parâmetro como 0. Essa configuração faz com que a função selecione o idioma que melhor dá suporte à exibição do console. Para obter mais informações, consulte a seção Comentários.
Retornar valor
Retorna o identificador de idioma de entrada se tiver êxito. Se o identificador de entrada for diferente de zero, a função retornará esse valor. Se o identificador de idioma for 0, a função sempre terá êxito e retornará o identificador do idioma que melhor dá suporte ao console do Windows. Consulte a seção Comentários.
Se o identificador de idioma de entrada for diferente de zero e a função falhar, o valor retornado será diferente do identificador de idioma de entrada. Para obter informações de erro estendidas, o aplicativo pode chamar GetLastError.
Comentários
Quando um thread é criado, a configuração de idioma da interface do usuário do thread fica vazia e a interface do usuário do thread é exibida no idioma selecionado pelo usuário. Essa função permite que o aplicativo altere o idioma da interface do usuário para o thread em execução atual.
Windows Vista e posterior: Chamar essa função e especificar 0 para o identificador de idioma é idêntico a chamar SetThreadPreferredUILanguages com o sinalizador MUI_CONSOLE_FILTER definido. Se o aplicativo especificar um identificador de linguagem diferente de zero válido, a função definirá uma linguagem de interface do usuário específica para o thread. Depois de especificar 0 para o identificador de idioma, o aplicativo não pode usar nenhuma das seguintes constantes para corresponder a um identificador de idioma:
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
Assinatura do C#
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.UInt16 SetThreadUILanguage(
System.UInt16 LangId
);
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winnls.h (inclua Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |
Confira também
Interface do Usuário Multilíngue