LoadKeyboardLayout

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

(HKL LoadKeyboardLayout LPCTSTR  pwszKLID, / / ім'я макета для завантаженняUINTПрапори / / сполучення прапорами макет);
 

Параметри

pwszKLID
Вказівник миші в буфер, який визначає ім'я розкладки клавіатури для завантаження. Це ім'я — це рядок, який складається з шістнадцяткове значення на ідентифікатор мови (низький слова) та ідентифікатор пристрою (високий слово). Наприклад, Англійська США має ідентифікатор мови з 0x0409, тому основний США) Англійська розкладці названа "00000409". Варіанти U.S. Англійська макет (наприклад, Дворака макет) іменуються "00010409", "00020409" і так далі.
Прапори
Визначає, як розкладка клавіатури є завантаження. Цей параметр може бути одне з таких значень.
Значення Значення
KLF_ACTIVATE Якщо не завантажено певного макету, функція навантажень і активує макет для наявного потоку.
KLF_NOTELLSHELL Запобігає ShellProc гачок процедуру отримання код гачок HSHELL_LANGUAGE при завантаженні нового макета. Це значення зазвичай використовується, коли програма завантажує кілька макетів, один за одним. Застосовуючи це значення для всіх, але останній макет затримки в оболонці обробки, поки всі макети були додані.
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