Сейчас на форуме: _MBK_, Adler (+6 невидимых)

 eXeL@B —› Вопросы новичков —› убрать функцию win api
Посл.ответ Сообщение

Ранг: 15.7 (новичок), 1thx
Активность: 0.010
Статус: Участник

Создано: 29 октября 2011 14:32
· Личное сообщение · #1

есть программа, при запуске загружает языковую раскладку
занопить все вызовы LoadKeyboardLayout, достаточно?



Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 29 октября 2011 15:21
· Личное сообщение · #2

Передаваемые параметры тоже надо, иначе стек побъется.




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 29 октября 2011 19:54
· Личное сообщение · #3

Проще поменять параметр на нужный язык.

К тому же возможен такой сценарий в программе:
* Получение разных хэндлов для различных раскладок при помощи обращения к LoadKeyboardLayout
* Вызов ActivateKeyboardLayout для переключения раскладок, используя заранее полученные хэндлы.

При твоём подходе (нопить LoadKeyboardLayout), вызов ActivateKeyboardLayout с невалидным хэндлом приведёт к ошибке.

Поэтому я бы рекомендовал два варианта:
1. Патчить параметр pwszKLID, задав нужное значение.
2.Пропатчить (хукнуть) вызовы ActivateKeyboardLayout для использования своих значений.

-----
EnJoy!


| Сообщение посчитали полезным: xetis
 eXeL@B —› Вопросы новичков —› убрать функцию win api
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати