Win32: как проверить, относится ли HKL к определенному семейству IMEC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Win32: как проверить, относится ли HKL к определенному семейству IME

Сообщение Anonymous »

Известно, что API-интерфейсы клавиатуры Win32 (семейство Windows API) сбивают с толку, и существует множество ответов SO о том, как отображать приблизительную информацию человеку с достаточными навыками полиглота, чтобы понять все возможные ответы, переведенные Microsoft. Но у меня возникли проблемы с получением программно проверяемой информации (т. е. информации, которую можно использовать в операторах if() C++) о погоде или нет. HKL, полученный для активного окна (сама по себе основная задача), относится к этому потоку, который в настоящее время получает ввод с клавиатуры через определенное семейство IME (редакторы методов ввода), такие как корейские IME или японские IME.
Очевидно, что HKL — это динамический дескриптор, который будет трудно сопоставить KLID, определенный реестром (идентификатор раскладки клавиатуры), что даже не является тем ответом, который я ищу, поскольку до того, как узнать, относится ли он к определенному семейству драйверов IME, еще как минимум два шага (реестр сопоставляет KLID с DLL раскладки клавиатуры, которая не совсем является IME, и даже имя файла IME не будет напрямую показывать, основано ли оно на дизайне Microsoft IME для корейского, японского или Индийский).
Цель состоит в том, чтобы разобраться с конкретными вариантами дизайна раскладки клавиатуры для поведения клавиатуры, присутствующего в Microsoft IME для определенных языков, при этом эти конкретные варианты поведения будут одинаковыми во многих поколениях операционных систем Windows, в которых были представлены другие варианты IME для тех же языков. Например, корейское семейство IME выполняет специальную обработку кода сканирования 0xF2, которая отличается от обработки этого кода сканирования японским семейством IME.
P.S.
Я уже просмотрел старый блог Kaplan (Разбираем все это) и множество ответов SO, которые были неопределенно связаны, но недостаточно подробны, чтобы можно было принять надежные решения во время выполнения. Бот SO также предложил несколько совершенно несвязанных «похожих вопросов», когда я писал этот вопрос.

Подробнее здесь: https://stackoverflow.com/questions/797 ... ly-of-imes
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»