Função EnumUILanguagesA (winnls.h)

Enumera os idiomas da interface do usuário disponíveis no sistema operacional e chama a função de retorno de chamada com todos os idiomas da lista.

Sintaxe

BOOL EnumUILanguagesA(
  [in] UILANGUAGE_ENUMPROCA lpUILanguageEnumProc,
  [in] DWORD                dwFlags,
  [in] LONG_PTR             lParam
);

Parâmetros

[in] lpUILanguageEnumProc

Ponteiro para uma função de retorno de chamada EnumUILanguagesProc definida pelo aplicativo. EnumUILanguages chama essa função repetidamente para enumerar os idiomas na lista.

[in] dwFlags

Sinalizadores que identificam o formato de linguagem e a filtragem. Os sinalizadores a seguir especificam o formato do idioma a ser passado para a função de retorno de chamada. Os sinalizadores de formato são mutuamente exclusivos e MUI_LANGUAGE_ID é o padrão.

Valor Significado
MUI_LANGUAGE_ID
Passe o identificador de idioma na cadeia de caracteres de idioma para a função de retorno de chamada.
MUI_LANGUAGE_NAME
Passe o nome do idioma na cadeia de caracteres de idioma para a função de retorno de chamada.
 

Os sinalizadores a seguir especificam a filtragem para a função a ser usada na enumeração dos idiomas. Os sinalizadores de filtragem são mutuamente exclusivos e o padrão é MUI_LICENSED_LANGUAGES.

Valor Significado
MUI_ALL_INSTALLED_LANGUAGES
Enumerar todos os idiomas instalados disponíveis para o sistema operacional.
MUI_LICENSED_LANGUAGES
Enumerar todos os idiomas instalados disponíveis e licenciados para uso.
MUI_GROUP_POLICY
Enumerar todos os idiomas instalados que estão disponíveis e licenciados e que são permitidos por

a política de grupo.

 

Windows Vista e posterior: O aplicativo pode definir dwFlags como 0 ou para um ou mais dos sinalizadores especificados. Uma configuração de 0 faz com que o valor do parâmetro MUI_LANGUAGE_ID padrão | MUI_LICENSED_LANGUAGES.

Windows 2000, Windows XP, Windows Server 2003: O aplicativo deve definir dwFlags como 0.

[in] lParam

Valor definido pelo aplicativo.

Retornar valor

Retornará TRUE se tiver êxito ou FALSE caso contrário. Para obter informações de erro estendidas, o aplicativo pode chamar GetLastError, que pode retornar um dos seguintes códigos de erro:

  • ERROR_INVALID_FLAGS. Os valores fornecidos para sinalizadores não eram válidos.
  • ERROR_INVALID_PARAMETER. Qualquer um dos valores de parâmetro era inválido.

Comentários

Essa função enumera os idiomas de interface do usuário disponíveis e, dependendo do sinalizador especificado, licenciado para uso no sistema operacional. Ele passa identificadores de idioma ou nomes de idioma, um de cada vez, para a função de retorno de chamada EnumUILanguagesProc . A função EnumUILanguages continua a passar identificadores de linguagem ou nomes para a função de retorno de chamada até que o último idioma seja encontrado ou a função de retorno de chamada retorne FALSE.

Para aplicativos executados somente no Windows Vista e posteriores, é recomendável MUI_LANGUAGE_NAME em MUI_LANGUAGE_ID. MUI_LANGUAGE_NAME permite a diferenciação entre idiomas associados a uma localidade complementar.

Se o sinalizador MUI_LANGUAGE_ID for especificado na chamada para essa função, as cadeias de caracteres passadas para o retorno de chamada

função serão identificadores de linguagem hexadecimal que não incluem o 0x à esquerda e serão 4

caracteres de comprimento. Por exemplo, en-US será passado como "0409" e en como "0009". O valor "1000" é passado para a função de retorno de chamada para qualquer idioma associado a uma localidade suplementar. Esse valor corresponde ao valor hexadecimal de LOCALE_CUSTOM_UNSPECIFIED. Ele não distingue entre localidades complementares, mesmo que o idioma selecionado esteja na lista de idiomas de interface do usuário preferenciais do usuário ou na lista de idiomas de interface do usuário preferenciais do sistema.

Assinatura do C#

[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
        static extern System.Boolean EnumUILanguages(
            EnumUILanguagesProc lpUILanguageEnumProc,
            System.UInt32 dwFlags,
            System.IntPtr lParam
            );

Observação

O cabeçalho winnls.h define EnumUILanguages como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho winnls.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Enumuilanguagesproc

Getsystemdefaultuilanguage

Getuserdefaultuilanguage

Interface do Usuário Multilíngue

Funções de interface do usuário multilíngue