Как получить событие о переключении языка ввода в Windows?

Я пытаюсь в своей программе сделать обработку событий о переключении языка ввода. Программа должна работать в фоне (не иметь активного окна или получать эти события, когда окно программы неактивно).
Я нашел несколько способов, но ни один у меня не сработал.
1) обработка WM_INPUTLANGCHANGE - согласно документации, присылается только активному окну в фокусе.
2) Имплементация ITfActiveLanguageProfileNotifySink или ITfLanguageProfileNotifySink. ITfActiveLanguageProfileNotifySink::OnActivated не dspsdftncz, метод ITfLanguageProfileNotifySink::OnLanguageChange, содержащий в параметрах язык, тоже не вызывается, а метод ITfLanguageProfileNotifySink::OnLanguageChanged (не содержащий языка) - вызывается только когда мое окно активно и в фокусе.
В чем может быть проблема? Какие еще способы можно попробовать?
  • Вопрос задан
  • 308 просмотров
Пригласить эксперта
Ответы на вопрос 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
В чем может быть проблема?
6203d08a0f3ec613478425.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы