![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| AnalogXP |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 23.9.2007 Репутация: нет Всего: нет |
Как узнать о изменении раскладки клавиатуры (даже когда моя программа не активна)? Пробовал все примеры что нашел, но в Win 7 ни один из примеров не работает.
Просветите, если можно как-то решить данную проблему. Спасибо! |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Так же, как и в предыдущих версиях Windows. При смене раскладки отправляется WM_INPUTLANGCHANGE. Если вам надо во всех приложениях - ставьте хук.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| AnalogXP |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 23.9.2007 Репутация: нет Всего: нет |
Ловить WM_INPUTLANGCHANGE не удалось. А вот CM_INPUTLANGCHANGE заработал. Попробую паработить какой нибудь хук... Это сообщение отредактировал(а) AnalogXP - 3.1.2010, 20:58 |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Телепатов нет. Как вы ловите сообщение, для меня - загадка. Лично мне почему-то удалось ;) CM_INPUTLANGCHANGE - это Дельфёвое сообщение. В программе, писанной на другом языке, его нет в принципе. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| AnalogXP |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 23.9.2007 Репутация: нет Всего: нет |
Странно, решил еще раз попробовать, и заработало
|
||||
|
|||||
| AnalogXP |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 23.9.2007 Репутация: нет Всего: нет |
Ан нет. Ошибся. Прошу прощения. Тут у меня таймерок заныкался, он-то меня и запутал, а я уже всех остальных.
Выше приведенный мною код, не работает. CodeMonkey, можете показать как Вам удалось поймать WM_INPUTLANGCHANGE в Windows 7 ? |
|||
|
||||
| AnalogXP |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 23.9.2007 Репутация: нет Всего: нет |
Вот по теме: http://forum.vingrad.ru/topic-232937.html
Это сообщение отредактировал(а) AnalogXP - 5.1.2010, 20:19 |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Windows 7, 64-х битная, D2010 (пробовал как с MainFormOnTaskBar, там и без него):
Может вы просто не то ожидаете от сообщения? Сообщение приходит для вашей смены раскладки. Т.е. ваше окно активно, вы меняете раскладку - приходит сообщение. Потому что у вас изменили раскладку и вам это интересно. Если окно не активно и вы меняете раскладку - сообщение не приходит. Потому что ваша раскладка не изменяется. Изменяется раскладка другого приложения. Добавлено через 1 минуту и 8 секунд P.S. Если используете Delphi до 2009-й, то попробуйте ловить сообщение у Application, а не формы. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| AnalogXP |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 23.9.2007 Репутация: нет Всего: нет |
У меня: Windows 7, 32-х битная, D2010
Про сообщение активному окну знаю. Результата нет. |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Остаётся проверить установку апдейтов на Delphi/Windows и установку всяких хрюшек, которые могут блокировать сообщение.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |