| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Глобальный перехват сообщений.. |
| Автор: puZzo 2.10.2008, 18:02 |
| Люди, помогите плиз разобраться, на пальцах, желательно по-русски=))) Как поймать сообщение WM_INPUTLANGCHANGEREQUEST при смене раскладки не только в своем приложении.. я понимаю, что нужно ставить глобальный хук, но здесь я захожу в тупик, как это сделать..локально (в своем приложении я разобрался и сделал), а вот с dll'ой не пойму никак=(( явно не хватает знаний по этой теме.. Желательно было бы пример хорошей документации по хукам..если можно=)) |
| Автор: CodeMonkey 2.10.2008, 18:37 |
| http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=548 |
| Автор: THandle 2.10.2008, 22:24 |
| CodeMonkey, у нас это статья тоже есть: http://base.vingrad.ru/view/2011-Hooks---aspektyi-realizatsii Не принципиально конечно, где брать инфу, но все не просто так это в местной базе знаний висит |
| Автор: CodeMonkey 3.10.2008, 08:06 |
| THandle, я просто тут у вас относительно недавно, а на Королевстве уже больше года. Чьи закоулки мне больше знакомы, оттуда ссылки и кидаю ;) |
| Автор: puZzo 3.10.2008, 10:13 |
| Спасибо за доку, разобрался, поставил, заработало..вот только появилась другая проблема, при переключении активного приложения, если в нем другая раскладка, хук не срабатывает=( проверил так..в тотале стоит англ., в браузере рус. При переключении между приложениями значок раскладки меняется..а вот мой хук не срабатывает... |
| Автор: CodeMonkey 3.10.2008, 10:26 |
Так ведь раскладка же не меняется. С чего ж ему срабатывать-то? |
| Автор: puZzo 7.10.2008, 04:50 |
| Как это не меняется? Язык ввода то изменяется, и индикатор виндовый меняется..да и не только стандартный, у меня стоит панто свитчер, он тоже реагирует..уже думал отслеживать состояние окошка языка(виндовое), но отказался, у меня оно отключено=)) Я так полагаю же должна же быть гдето переменная чтоли, которая отвечает за вводимый язык... |
| Автор: BaD_SeCt0R 8.10.2008, 21:15 |
| http://forum.vingrad.ru/faq/topic-174736/kw-раскладка-клавиатура.html |
| Автор: puZzo 13.10.2008, 17:58 |
| CodeMonkey, спасибо, теперь понял..почти..но как тогда узнать язык ввода в текущем активном окне? хук на любое активное окно и при смене брать его язык ввода? BaD_SeCt0R, данке=) |