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