На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

LoadKeyboardLayout



The implementations of LoadKeyboardLayout in Windows 95 and Windows NT are substantially different. To accommodate these differences, this reference page first presents the Windows 95 implementation in its entirety, followed by the Windows NT version.

Windows 95:

The LoadKeyboardLayout function loads a new keyboard layout into the system. Several keyboard layouts can be loaded at a time, but only one per process is active at a time. Loading multiple keyboard layouts makes it possible to rapidly switch between layouts.

HKL LoadKeyboardLayout(

LPCTSTR pwszKLID, // name of layout to load
UINT Flags // keyboard layout flags
);


Parameters

pwszKLID

Points to the buffer that specifies the name of the keyboard layout. This name is a string composed from the hexadecimal value of the primary language identifier (low word) and a device identifier (high word). For example, U.S. English has a language identifier of 0x0409, so the primary U.S. English layout is named "00000409". Variants of U.S. English layout, such as the Dvorak layout, are named "00010409", "00020409", and so on. For a list of the primary language identifiers and secondary language identifiers that make up a language identifier, see the MAKELANGID macro.

Flags

Specifies how the keyboard layout is to be loaded. This parameter can be one of the following values:

Value Meaning
KLF_ACTIVATE If the given layout is not already loaded, the function loads and activates the layout for the current thread, inserting the layout at the head of the keyboard layouts list in front of the previously active layout. If the layout is already loaded and the KLF_REORDER value is not given, the function simply rotates the keyboard layouts list, making the next layout the active layout.
KLF_NOTELLSHELL Prevents a ShellProc hook procedure from receiving an HSHELL_LANGUAGE hook code when the new layout is loaded. This value is typically used when an application loads multiple layouts, one after another. Applying this value to all but the last layout delays the shell's processing until all layouts have been added.
KLF_REORDER Moves the given layout to the head of the keyboard layouts list, making that layout the active layout for the current thread. This value reorders the keyboard layouts list even if KLF_ACTIVATE is not given.
KLF_REPLACELANG If the new layout has the same language identifier as a current layout, the new layout replaces the current one as the layout for that language. If this value is not given and the layouts have the same language identifiers, the current layout is not replaced and the function returns NULL.
KLF_SUBSTITUTE_OK Substitues the given keyboard layout with another layout preferred by the user. The substitution occurs only if the registry key HKEY_CURRENT_USER\Keyboard Layout\Substitutes explicitly defines a substitution layout. For example, if the key includes the value name "00000409" with value "00010409", loading the U.S. English layout ("00000409") causes the Dvorak U.S. English layout ("00010409") to be loaded instead. The system uses KLF_SUBSTITUTE_OK when booting and it is recommended that all applications use this value too.


Return Values

If the function succeeds, the return value is the keyboard layout handle of the layout matched with the requested name or NULL if no matching keyboard is available.

Remarks

If a layout is to be loaded with the same language as a previously loaded one and the KLF_REPLACELANG flag is not set, the call fails. Only one loaded layout may be associated with a given language. (It is acceptable for multiple IMEs to be loaded with associations to the same language.)
An application can and will typically want to load the default layout or IME for a language and can do so by specifying only a string version of the language identifier. If an application wants to load a specific layout or IME, it should read the registry to determine the specific layout identifier to pass to LoadKeyboardLayout. In this case, a request to activate the default keyboard layout handle for a locale will activate the first matching one. A specific IME should be activated using an explicit keyboard layout handle returned from one of GetKeyboardLayout, GetKeyboardLayoutList or LoadKeyboardLayout.

See Also

ActivateKeyboardLayout, GetKeyboardLayout, GetKeyboardLayoutName, MAKELANGID, UnloadKeyboardLayout

Windows NT:

The LoadKeyboardLayout function loads a keyboard layout.

HKL LoadKeyboardLayout(

LPCTSTR pwszKLID, // address of buffer for layout name
UINT Flags // keyboard layout flags
);


Parameters

pwszKLID

Points to the buffer that specifies the name of the keyboard layout. The name should be derived from the hexadecimal value of the language identifier corresponding to the layout. For example, U.S. English has a language identifier of 0x0409, so the primary U.S. English layout is named "00000409". Variants of U.S. English layout, such as the Dvorak layout, are named "00010409", "00020409", and so on. For a list of the primary language identifiers and sub-language identifiers that make up a language identifier, see the MAKELANGID macro.

Flags

Specifies how the keyboard layout is to be loaded. This parameter can be one of the following values:

Value Meaning
KLF_ACTIVATE The function loads the layout if it is not already loaded, and activates it. This value activates the layout for the entire system not just the calling thread.
KLF_REORDER This flag is meaningful only if the KLF_ACTIVATE flag is set and the layout is already loaded. If these conditions are met and the KLF_REORDER bit is set, the function removes the specified layout from its position in the system's circular list of loaded layouts, and places it at the head of the list as the active layout.
If the KLF_ACTIVATE bit is set and the layout is loaded but the KLF_REORDER bit is not set, the function simply rotates the system's circular list of loaded layouts.
If the KLF_ACTIVATE flag is set and the layout is not already loaded, it is loaded as the active layout and inserted in the system's circular list of keyboard layouts ahead of the previously active layout.
KLF_SUBSTITUTE_OK The specified layout is looked up in the user's profile (in the registry under the key HKEY_CURRENT_USER\Keyboard Layout\Substitutes) to find a substitution layout preferred by the user. For example, if there was a value in this section of name "00000409" equal to "00010409", loading the U.S. English layout ("00000409") with the KLF_SUBSTITUTE_OK flag set would cause the Dvorak U.S. English layout ("00010409") to be loaded.
KLF_UNLOADPREVIOUS If KLF_ACTIVATE is specified, and the layout is loaded and activated successfully, the function unloads the previously active layout. Otherwise, the function ignores this flag.


Return Values

If the function succeeds, the return value is the handle of the keyboard layout.
If the function fails, the return value is NULL. To get extended error information, call GetLastError.

Remarks

Several keyboard layouts can be loaded at a time, but only one at a time is active. Loading multiple keyboard layouts makes it possible to switch rapidly between layouts.

See Also

ActivateKeyboardLayout, GetKeyboardLayoutName, UnloadKeyboardLayout


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

LoadKeyboardLayout



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

Окно 95:

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

HKL LoadKeyboardLayout(

LPCTSTR pwszKLID, // ИМЯ формата, чтобы загружать Флаги / UINT/ клавишные флаги формата
);


Параметры

pwszKLID

Точки на буфер, которые определяют имя клавишного формата. Это зовут строка сформированная из шестнадцатеричной величины первичного языкового идентификатора (низкое слово) и идентификатора устройства (высокого слова). Например, США. Английский имеет языковой идентификатор 0x0409, так что первичный США. Английский формат назван "00000409". Варианты США. Английский формат, как например, формат Dvorak, назван "00010409", "00020409", и так далее. Для списка первичных языковых идентификаторов и второстепенных языковых идентификаторов, которые создают языковой идентификатор, смотри макро MAKELANGID.

Флаги

Определяет как клавишный формат должен быть загружен. Этот параметр может быть одним из следующего величин:

Значение Величины
KLF_ACTIVATE Если данный формат уже не загружен, функция загружает и активизирует формату для текущей резьбы, включающий формат клавишного списка форматов перед прежде активным форматом. Если формат уже загружен и величина KLF_REORDER не дана, функция просто вращает клавишный список форматов, делающий следующим форматом активный формат.
KLF_NOTELLSHELL Мешает процедуру захвата ShellProc чтобы получать рычажный код HSHELL_LANGUAGE когда новый формат загружен. Эта величина обычно использована когда приложение загружает многочисленные форматы, один после другое. Прилагая эту величину к почти последнему формату задерживает обработку оболочки пока все форматы не добавлены.
KLF_REORDER Перемещает данный формат на голову клавишного списка форматов, делая этим форматом активный формат для текущей резьбы. Эта величина преобразовывает клавишный список форматов даже если бы KLF_ACTIVATE не дан.
KLF_REPLACELANG Если новый формат имеет тот же языковой идентификатор как текущий формат, новый формат заменяет текущий как формат для этого языка. Если эта величина не дана и форматы имеют те же языковые идентификаторы, текущий формат не заменен и функциональный возврат НЕДЕЙСТВИТЕЛЬНЫЙ.
KLF_SUBSTITUTE_OK Substitues данный клавишный формат с другим форматом предпочитался потребителем. Подстановка происходит только если ключ регистрации HKEY_CURRENT_USER\Keyboard Layout\Substitutes явно определяет формат подстановки. Например, если ключ включает имени величины "00000409" с величиной "00010409", загружая США. Английский формат ("00000409"), вызывает Dvorak США. Английский формат ("00010409"), чтобы быть загруженн взамен. Система использует KLF_SUBSTITUTE_OK при загрузке и она рекомендована, чтобы все приложения использовали эту величину тоже.


Обратные Величины

Если функция добивается успеха, обратная величина является клавишной ручкой формата формата соответствуемого попрошенным именем или НЕДЕЙСТВИТЕЛЬНЫМ если никакое сопоставление клавиатуры не доступно.

Замечания

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

Смотри Также

ActivateKeyboardLayout, GetKeyboardLayout, GetKeyboardLayoutName, MAKELANGID, UnloadKeyboardLayout

Окно NT:

Функция LoadKeyboardLayout загружает клавишный формат.

HKL LoadKeyboardLayout(

LPCTSTR pwszKLID, // АДРЕС буфера для имени формата UINT Флагов // клавишные флаги формата
);


Параметры

pwszKLID

Точки на буфер, которые определяют имя клавишного формата. Имя должно быть производным от шестнадцатеричной величины языкового идентификатора, соответствуемого в формат. Например, США. Английский имеет языковой идентификатор 0x0409, так что первичный США. Английский формат назван "00000409". Варианты США. Английский формат, как например, формат Dvorak, назван "00010409", "00020409", и так далее. Для списка первичных языковых идентификаторов и под-языковых идентификаторов, которые создают языковой идентификатор, смотри макро MAKELANGID.

Флаги

Определяет как клавишный формат должен быть загружен. Этот параметр может быть одним из следующего величин:

Значение Величины
KLF_ACTIVATE функция загружает формат если она уже не загружена, и активизирует это. Эта величина активизирует формат для целой системы именно не вызов резьбы.
KLF_REORDER Этого флага значимый только если флаг KLF_ACTIVATE установлен и формат уже загружен. Если эти условия выполнены и бит KLF_REORDER установлен, функция удаляет определенный формат из своей позиции в системном циклическом списке загруженных форматов и устанавливает это списка как активный формат.
Если бит KLF_ACTIVATE установлен и формат загружен но бит KLF_REORDER не установлен, функция просто вращает системный циклический список загруженных форматов.
Если флаг KLF_ACTIVATE установлен и формат уже не загружен, загружено как активный формат и включенный в системный циклический список клавишных форматов впереди прежде активного формата.
KLF_SUBSTITUTE_OK определенный формат - искал в профиле потребителя (в регистрации под ключом HKEY_CURRENT_USER\Keyboard Layout\Substitutes), чтобы находить формат подстановки предпочтенный потребителем. Например, если была величина в этой секции имени "00000409" равный "00010409", загружая США. Английский формат ("00000409") с набором флага KLF_SUBSTITUTE_OK должно вызывать Dvorak США. Английский формат ("00010409"), чтобы быть загруженн.
KLF_UNLOADPREVIOUS Если KLF_ACTIVATE определен, и формат загружен и активизируется успешно, функция снимает прежде активный формат. В противном случае, функция игнорирует этот флаг.


Обратные Величины

Если функция добивается успеха, обратная величина является ручкой клавишного формата.
Если функция терпит неудачу, обратная величина НЕДЕЙСТВИТЕЛЬНА. Для того, чтобы расширять информацию ошибки, назовите GetLastError.

Замечания

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

Смотри Также

ActivateKeyboardLayout, GetKeyboardLayoutName, UnloadKeyboardLayout


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz