LoadKeyboardLayout

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

() HKL LoadKeyboardLayout LPCTSTR  pwszKLID, / / название раскладки для загрузкиUINTФлаги / / Клавиатура макета флаги);
 

Параметры

pwszKLID
Указатель на буфер, который определяет имя раскладки клавиатуры для загрузки. Это имя представляет собой строку, состоящий из шестнадцатеричного значения идентификатор языка (младшее слово) и идентификатора устройства (старшее слово). К примеру английский США имеет идентификатор языка 0x0409, поэтому основная английской раскладке США имеет имя «00000409». Варианты английского (США) раскладке (такие как Двораку макет) называются «00010409», «00020409» и т. д.
Флаги
Определяет, как должно быть загружены раскладка клавиатуры. Этот параметр может принимать одно из следующих значений.
Значение Значение
KLF_ACTIVATE Если указанный формат не загружена, функция загружает и активирует макет для текущего потока.
KLF_NOTELLSHELL Предотвращает получение кода крюк HSHELL_LANGUAGE при загрузке новой формой процедуру подключения ShellProc . Это значение обычно используется, когда приложение загружает несколько макетов, один за другим. Применяя это значение для всех, а последний макет задерживает оболочки обработки до тех пор, пока все макеты были добавлены.
KLF_REORDER Перемещает заданный макет в голову списке раскладки клавиатуры, что этого макета активным макет для текущего потока. Это значение упорядочивает список раскладок клавиатуры, даже если KLF_ACTIVATE не предоставляется.
KLF_REPLACELANG Windows NT 4.0, Windows 95 и более поздних:Если новый формат имеет тот же идентификатор языка как текущей раскладки, в новый макет заменяет текущий как макет для этого языка. Если это значение не предоставляется и макеты имеют те же идентификаторы языка, не будет заменен текущий макет и функция возвращает NULL.
KLF_SUBSTITUTE_OK Заменяет указанный раскладку клавиатуры с другой формой, которую пользователь предпочитает. Система начинает работу с этот флаг установлен, и рекомендуется, чтобы приложение всегда использовать этот флаг. Замена происходит, только если в разделе реестра HKEY_CURRENT_USER\Keyboard Layout\Substitutes явно определяет макет замещения. Например если ключ включает имя значения «00000409» со значением «00010409», Загрузка английский США макет ("00000409") вызывает английской раскладке Дворак США ("00010409") для загрузки вместо этого. При загрузке система использует KLF_SUBSTITUTE_OK, и все приложения использовать это значение при загрузке макеты для обеспечения выбранных предпочтений пользователя.
KLF_SETFORPROCESS Windows NT 5.0 и более поздних:: этот флаг действует только с KLF_ACTIVATE. Активирует заданный раскладку клавиатуры для всего процесса и отправляет сообщение WM_INPUTLANGCHANGE все потоки в текущем процессе. Как правило LoadKeyboardLayout активирует макета только для текущего потока.
KLF_UNLOADPREVIOUS Не поддерживается в Windows NT 5.0, Windows 95 и Windows 98:Этот флаг действует только с KLF_ACTIVATE. Выгружает предыдущего макета, только если загрузка и активация указанный макет успешно. Рекомендуется вместо этого использовать функцию UnloadKeyboardLayout ваше приложение.

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

Если функция выполнена успешно, возвращаемое значение является дескриптором макет клавиатуры в макет с запрашиваемое имя. Если нет подходящих раскладка клавиатуры, возвращаемое значение равно NULL. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.

Примечания

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

Windows 95 и Windows 98: Если макет должен быть загружен с же языке, что ранее загруженную макет и KLF_REPLACELANG флаг не задано, ошибкой. Только один загруженного макет может быть связан с данного языка. (Это допустимо для нескольких IME для загрузки с ассоциациями на одном языке).

QuickInfo

nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Не поддерживается.
Заголовок:Объявленные в winuser.h.
Импорта библиотеки:Используйте user32.lib.
Юникод:В версии Юникода и ANSI в Windows NT.

Родственные слова

Обзор ввода клавиатуры, функции ввода с клавиатуры, ActivateKeyboardLayout, GetKeyboardLayoutName, MAKELANGID,UnloadKeyboardLayout

Index