LoadKeyboardLayout функция загружает новую раскладку клавиатуры в системе. Несколько раскладок клавиатуры могут быть загружены в тот момент, но только один раз процесс активен в тот момент. Загрузка несколько раскладок клавиатуры позволяет быстро переключаться между раскладками.
() HKL LoadKeyboardLayout LPCTSTR pwszKLID, / / название раскладки для загрузкиUINTФлаги / / Клавиатура макета флаги);
| Значение | Значение |
|---|---|
| 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 для загрузки с ассоциациями на одном языке).
nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Не поддерживается.
Заголовок:Объявленные в winuser.h.
Импорта библиотеки:Используйте user32.lib.
Юникод:В версии Юникода и ANSI в Windows NT.
Обзор ввода клавиатуры, функции ввода с клавиатуры, ActivateKeyboardLayout, GetKeyboardLayoutName, MAKELANGID,UnloadKeyboardLayout