?

Log in

No account? Create an account

Дневник ur'а

Segui il tuo corso, e lascia dir le genti!

Юрий
манул
yury_finkel
Юрий

Я всё о том же, о своём, программистско-маньяческом :) Таки кажется нашёл я способ поймать переключение языка в любом окне, в том числе и консольном. А именно: глобальный хук на WM_SHELL, у него есть код события HSHELL_LANGUAGE, а в lParam приходит код языка. Причём событие это генерируется для любых окон (в том числе и консольных), и, что важно, генерируется также и при переключении между окнами по Alt+Tab (а иначе откуда узнать, какой язык был установлен в окне до переключения?).

Раньше мои попытки поймать WM_SHELL были неудачными из-за моей ошибки. Теперь я понял, как это делается. Правда, остаётся ещё пара проблем: как связать глобальный хук со скриптом autohotkey (там не всё так просто, как я думал), и ещё как сделать одновременно хуки на 32-битные и 64-битные приложения (под 64-битной ОС это необходимо). Но с этим, я думаю, я постепенно разберусь, это дело техники. Главное, я понял принцип.

Posted by Юрий Финкель on 15 сен 2018, 04:35
Метки:

из Facebook