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

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

Синтаксис

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

Параметры

[in] lpUILanguageEnumProc

Указатель на определяемую приложением функцию обратного вызова EnumUILanguagesProc . 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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header winnls.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

EnumUILanguagesProc

GetSystemDefaultUILanguage

GetUserDefaultUILanguage

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

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