Функция
ActivateKeyboardLayout устанавливает идентификатор (прежде называемый дескриптором раскладки клавиатуры) языка ввода для текущего потока или текущего процесса. Идентификатор языка ввода определяет национальный язык, а также физическую раскладку клавиатуры.Синтаксис
HKL ActivateKeyboardLayout( HKL hkl, UINT Flags );
Параметры
hkl
[in] Идентификатор языка ввода, который активизируется
Windows 95/98/Me: Этот параметр может быть получен при помощи использования функции LoadKeyboardLayout или GetKeyboardLayoutList или может быть один из ниже перечисленных значений:
Windows NT/2000/XP: Идентификатор языка ввода данных, должен быть загружен предыдущим вызовом функции LoadKeyboardLayout. Этот параметр должен быть или дескриптором раскладки клавиатуры или одним из ниже перечисленных значений.
Флажок | Описание |
|
Выбирает следующую идентификатор языка в кольцевом списке загруженных идентификаторов языка, поддерживаемых системой. |
HKL_PREV | Выбирает предыдущий идентификатор языка в кольцевом списке загруженных идентификаторов языка, поддерживаемых системой. |
Флажок | Описание |
|
Если этот бит установлен,
кольцевой список системы загруженных
идентификаторов национального языка
переупорядочивается, путем перемещения
идентификатора национального языка в
начало списка. Если этот бит не
установлен, список перемещает
идентификаторы по кругу без изменения
порядка..
Если загружены меньше чем три идентификатора национального языка, значение этого флажка является неуместным. |
|
Эти два метода являются взаимоисключающими, и настройка сохраняется как часть Профиля пользователя в системном реестре. |
|
Windows 2000/XP: Активизирует заданный идентификатор национального языка для всего процесса и отправляет сообщение WM_INPUTLANGCHANGE окну с фокусом или активному окну текущего потока. |
|
|
|
Этот флажок не поддерживается. Используйте функцию UnloadKeyboardLayout вместо него. |
Возвращаемые значения
Windows NT 3.51 и позже: Возвращаемое значение имеет тип BOOL. Если функция завершается успешно, оно - не нуль. Если функция завершается ошибкой, оно равно нулю.
Windows 95/98, Windows NT 4.0 и позже: Возвращаемое значение имеет тип HKL. Если функция завершается успешно, возвращаемое значение - предыдущий идентификатор языка ввода данных. В противном случае, оно равно нулю.
Чтобы получить дополнительные сведения об ошибке, используйте функцию GetLastError.
Замечания
Эта функция воздействует на раскладку клавиатуры только текущего процесса или потока.
Эта функция не ограничивается раскладками клавиатуры. Параметр hkl - фактически идентификатор языка ввода данных. Это - более широкое понятие, чем раскладка клавиатуры, так как он может также заключать в себе преобразователь речи в текст, Редактор Метода Ввода (IME), или любая другая форма ввода данных. Несколько идентификаторов языка ввода данных могут быть загружены в любой момент, но одновременно активен только один. Загрузка нескольких идентификаторов языка ввода позволяет быстро переключаться между ними.
Windows 95/98/Me: Приложение может создать правильный идентификатор языка ввода данных при помощи установки старшего слова в нуль, а младшего слова в значение идентификатора языка. Использование такого идентификатора языка ввода данных изменяет язык ввода, не воздействуя на физическую раскладку клавиатуры.
Когда для каждого национального языка разрешается несколько IME, передаваемый идентификатор языка ввода, в котором старшее слово (дескриптор устройства) равно нулю, активизирует первый IME в списке, принадлежащем национальному языку.
Windows 2000/XP: Флажки KLF_RESET и KLF_SHIFTLOCK изменяют метод, которым выключается режим Caps Lock . По умолчанию, режим Caps Lock выключается повторным нажатием клавиши Caps Lock. Если установлен только KLF_RESET , заданный по умолчанию режим восстанавливается. Если установлены KLF_RESET и KLF_SHIFTLOCK , режим Caps Lock выключается, нажатием любой клавиши SHIFT. Эта особенность используется для стандартизации работы национальной клавиатуры, а так же для персональных настроек.
Обзор Ввод данных с клавиатуры, Функции, используемые клавиатурой, LoadKeyboardLayout, GetKeyboardLayoutName, UnloadKeyboardLayout
Размещение и совместимость ActivateKeyboardLayout |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и старше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |