Я пишу экранную клавиатуру и хочу перерисовать свой макет, как только будет изменен раскладка клавиатуры.
В настоящее время я вызываю:
GetKeyboardLayout(GetWindowThreadProcessId(GetForegroundWindow(), NULL));
при каждом нажатии клавиши, чтобы узнать, изменился ли макет. Он не работает, если пользователь меняет макет мышью, пока не будет нажата клавиша.
Я хотел бы знать, есть ли способ получить уведомление когда макет клавиатуры текущего окна переднего плана изменяется, поэтому я могу перерисовать свой макет, как только произойдет изменение.