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


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

Задает предпочитаемые языки пользовательского интерфейса процесса для процесса приложения. Дополнительные сведения см. в разделе Управление языком пользовательского интерфейса.

Синтаксис

BOOL SetProcessPreferredUILanguages(
  [in]            DWORD    dwFlags,
  [in, optional]  PCZZWSTR pwszLanguagesBuffer,
  [out, optional] PULONG   pulNumLanguages
);

Параметры

[in] dwFlags

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

Вместо MUI_LANGUAGE_ID рекомендуется использовать MUI_LANGUAGE_NAME.

Значение Значение
MUI_LANGUAGE_ID
Строки языка входного параметра имеют формат идентификатора языка .
MUI_LANGUAGE_NAME
Строки языка входных параметров имеют формат имени языка .

[in, optional] pwszLanguagesBuffer

Указатель на буфер с двойным завершением null многострочного буфера, который содержит упорядоченный список с разделителями NULL в порядке убывания предпочтения. Если в буфере более пяти языков, функция задает только первые пять допустимых языков.

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

[out, optional] pulNumLanguages

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

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

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

  • ERROR_INVALID_PARAMETER. Указан недопустимый параметр.
Если список предпочтительных языков пользовательского интерфейса процесса пуст или языки, указанные для процесса, недопустимы, функция завершается успешно и задает значение 0 в параметре pulNumLanguages .

Комментарии

В идеале приложения будут вызывать SetProcessPreferredUILanguages как можно скорее после запуска.

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

Если указан MUI_LANGUAGE_ID, строки языка входных параметров должны использовать шестнадцатеричный язык.

идентификаторы, которые не содержат начального значения 0x и имеют длину 4 символа. Например, en-US должен иметь значение

передается как "0409" и en как "0009".

Примечание Использование MUI_LANGUAGE_NAME рекомендуется использовать в MUI_LANGUAGE_ID.
 

Подпись C#

[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
        static extern System.Boolean SetProcessPreferredUILanguages(
            System.UInt32 dwFlags,
            System.String pwszLanguagesBuffer,
            ref System.UInt32 pulNumLanguages
            );

Требования

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

См. также

GetProcessPreferredUILanguages

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

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