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


Функция GetKeyboardLayout (winuser.h)

Извлекает идентификатор активного языкового стандарта ввода (прежнее название — раскладка клавиатуры).

Синтаксис

HKL GetKeyboardLayout(
  [in] DWORD idThread
);

Параметры

[in] idThread

Тип: DWORD

Идентификатор потока для запроса или 0 для текущего потока.

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

Тип: HKL

Возвращаемое значение — это идентификатор входного языкового стандарта для потока. Низкое слово содержит идентификатор языка ввода, а высокое — дескриптор устройства для физической раскладки клавиатуры.

Комментарии

Идентификатор языкового стандарта ввода является более широким понятием, чем раскладка клавиатуры, так как он также может охватывать преобразователь речи в текст, метод ввода Редактор (IME) или любую другую форму ввода.

Так как раскладку клавиатуры можно динамически изменять, приложения, которые кэшируют сведения о текущей раскладке клавиатуры, должны обрабатывать сообщение WM_INPUTLANGCHANGE , чтобы получать сведения об изменениях в языке ввода.

Чтобы получить KLID (идентификатор раскладки клавиатуры) текущего активного HKL, вызовите GetKeyboardLayoutName.

Начиная с Windows 8. Предпочтительным методом для получения языка, связанного с текущей раскладкой клавиатуры или методом ввода, является вызов Windows.Globalization.Language.CurrentInputMethodLanguageTag. Если приложение передает языковые теги из CurrentInputMethodLanguageTag в любые функции поддержки национальных языков , оно должно сначала преобразовать теги, вызвав ResolveLocaleName.

Требования

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

См. также раздел

ActivateKeyboardLayout

Основные понятия

CreateThread

Ввод с клавиатуры

LoadKeyboardLayout

Другие ресурсы

Справочные материалы

WM_INPUTLANGCHANGE