Поделиться через


Функция EnumUILanguagesA (winnls.h)

Перечисляет языки пользовательского интерфейса, доступные в операционной системе, и вызывает функцию обратного вызова с каждым языком в списке.

Синтаксис

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

Параметры

[in] lpUILanguageEnumProc

Указатель на определяемую приложением функцию обратного вызова EnumUILanguagesPro c. EnumUILanguages многократно вызывает эту функцию для перечисления языков в списке.

[in] dwFlags

Флаги, определяющие формат языка и фильтрацию. Следующие флаги указывают формат языка для передачи функции обратного вызова. Флаги формата являются взаимоисключающими, и MUI_LANGUAGE_ID по умолчанию.

Ценность Значение
MUI_LANGUAGE_ID
Передайте идентификатор языка в строку языка в функцию обратного вызова.
MUI_LANGUAGE_NAME
Передайте имя языка в строке языка функции обратного вызова.
 

Следующие флаги указывают фильтрацию для функции, используемой при перечислении языков. Флаги фильтрации являются взаимоисключающими, и по умолчанию используется MUI_LICENSED_LANGUAGES.

Ценность Значение
MUI_ALL_INSTALLED_LANGUAGES
Перечислите все установленные языки, доступные операционной системе.
MUI_LICENSED_LANGUAGES
Перечислите все установленные языки, доступные и лицензированные для использования.
MUI_GROUP_POLICY
Перечисление всех установленных языков, доступных и лицензированных, и разрешенных

групповая политика.

 

Windows Vista и более поздних версий: приложение может задать dwFlags значение 0 или одно или несколько указанных флагов. Параметр 0 приводит к тому, что значение параметра по умолчанию MUI_LANGUAGE_ID | MUI_LICENSED_LANGUAGES.

Windows 2000, Windows XP, Windows Server 2003: приложение должно задать dwFlags значение 0.

[in] lParam

Определяемое приложением значение.

Возвращаемое значение

Возвращает TRUE, если успешно или FALSE. Чтобы получить расширенные сведения об ошибке, приложение может вызывать GetLastError, что может возвращать один из следующих кодов ошибок:

  • ERROR_INVALID_FLAGS. Значения, предоставленные для флагов, недопустимы.
  • ERROR_INVALID_PARAMETER. Любое из значений параметров было недопустимым.

Замечания

Эта функция перечисляет доступные языки пользовательского интерфейса и, в зависимости от указанного флага, лицензированного для использования в операционной системе. Он передает идентификаторы языка или имена языков по одному за раз у в функцию обратного вызова EnumUILanguagesProc. Функция EnumUILanguages продолжает передавать идентификаторы языка или имена функции обратного вызова до тех пор, пока не будет найден последний язык или функция обратного вызова возвращает FALSE.

Для приложений, работающих только в Windows Vista и более поздних версиях, MUI_LANGUAGE_NAME рекомендуется использовать более MUI_LANGUAGE_ID. MUI_LANGUAGE_NAME позволяет различать языки, связанные с дополнительным языковым стандартом .

Если флаг MUI_LANGUAGE_ID указан в вызове этой функции, строки, передаваемые обратному вызову.

функция будет шестнадцатеричными идентификаторами языка, которые не включают ведущие 0x и будут иметь значение 4.

Символы длиной. Например, en-US будут переданы как "0409" и en как "0009". Значение "1000" передается функции обратного вызова для любого языка, связанного с дополнительным языковым стандартом. Это значение соответствует шестнадцатеричном значению LOCALE_CUSTOM_UNSPECIFIED. Он не отличается от дополнительных языковых стандартов, даже если выбранный язык находится в списке предпочтительных языков пользовательского интерфейса пользователя или списке предпочтительных языков пользовательского интерфейса системы.

подпись C#

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

Заметка

Заголовок winnls.h определяет EnumUILanguages в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows 2000 Server [классические приложения | Приложения UWP]
целевая платформа Виндоус
заголовка winnls.h (включая Windows.h)
библиотеки Kernel32.lib
DLL Kernel32.dll

См. также

EnumUILanguagesProc

GetSystemDefaultUILanguage

GetUserDefaultUILanguage

многоязычный пользовательский интерфейс

функций многоязычного пользовательского интерфейса