10.16.1.14 - Функция LoadKeyboardLayout

Реализация LoadKeyboardLayout в Windows 95 и Windows NT существенно различаются. Чтобы выявить эти различия, эта страница справочника первые представляет ее реализацию в среде Windows 95 во всей полноте, в соответствии с версией Windows NT.

Windows 95:

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

Синтаксис

HKL LoadKeyboardLayout(
	LPCTSTR pwszKLID,	// название раскладки, которая загружена
	UINT Flags 		// флажки раскладки клавиатуры
);

Параметры
pwszKLID
Указывает на буфер, который определяет название раскладки символов на клавиатуре. Это название является строкой, составленной из шестнадцатеричного значения первичного идентификатора языка (младшее слово) и идентификатора устройства (старшее слово). Например, Американский Английский язык имеет идентификатор языка 0x0409, так что первичная Американская Английская раскладка имеет название "00000409". Варианты раскладки Американского Английского языка, такие как раскладки Дворака, названы "00010409", "00020409" и так далее. За списком первичных и вторичных идентификаторов языка, которые составляют общий идентификатор языка, следит макрокоманда MAKELANGID.
Flags
Определяет, как раскладка символов на клавиатуре должна быть загружена. Этот параметр может быть одним из следующих значений:

Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения - дескриптор раскладки символов на клавиатуре, согласованного с требуемым названием или ПУСТО (NULL), если никакая согласующаяся клавиатура не доступна.

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

Смотри также
ActivateKeyboardLayout, GetKeyboardLayout, GetKeyboardLayoutName, MAKELANGID, UnloadKeyboardLayout

Windows NT:

Функция LoadKeyboardLayout загружает раскладку символов на клавиатуре.

Синтаксис

HKL LoadKeyboardLayout(
	LPCTSTR pwszKLID,	// адрес буфера с названием раскладки
	UINT Flags		// флажки раскладки клавиатуры
);

Параметры
pwszKLID
Указывает на буфер, который определяет название раскладки символов на клавиатуре. Название должно быть получено из шестнадцатеричного значения идентификатора языка, соответствующего раскладке. Например, Американский Английский язык имеет идентификатор языка 0x0409, так что первичная Американская Английского языка раскладка называется "00000409". Варианты Американской Английского языка раскладки, типа раскладки Дворака, названы "00010409", "00020409", и так далее. За списком первичных идентификаторов языка и идентификаторов подмножества языка, которые составляют идентификатор языка, следит макрокоманда MAKELANGID.
Flags
Устанавливает, как раскладка символов на клавиатуре должна быть загружена. Этот параметр может быть одним из следующих значений:

Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения - дескриптор раскладки символов на клавиатуре.
Если функция не выполняет задачу, величина возвращаемого значения - ПУСТО (NULL). Чтобы получить расширенные данные об ошибках, вызовите GetLastError.

Замечания
Одновременно могут быть загруженными несколько раскладок символов на клавиатуре, но активной может быть только одна. Загрузка многочисленных раскладок символов на клавиатуре делает возможным быстро переключаться между ними.

Смотри также
ActivateKeyboardLayout, GetKeyboardLayoutName, UnloadKeyboardLayout

Размещение и совместимость LoadKeyboardLayout

Windows NT				Да 
Win95					Да 
Win32s					Нет 
Импортируемая библиотека			user32.lib 
Заголовочный файл				winuser.h 
Unicode					WinNT 
Замечания по платформе			Windows 95: В одно и то же время загружается только 1 клавиатура

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Владимир Соковиков - 05.08.2002