Узнайте, когда раскладка клавиатуры изменена

Я пишу экранную клавиатуру и хотел бы перерисовывать раскладку при изменении раскладки клавиатуры.

Сейчас я вызываю:

GetKeyboardLayout(GetWindowThreadProcessId(GetForegroundWindow(), NULL));

при каждом нажатии клавиши, чтобы узнать, изменилась ли раскладка. Это не работает, если пользователь меняет раскладку с помощью мыши, пока не будет нажата клавиша.

Я хотел бы узнать, есть ли способ получить уведомление о том. когда раскладка клавиатуры текущего окна на переднем плане изменяется, чтобы я мог перерисовать свою раскладку, как только произойдет изменение.

11
задан Kromster says support Monica 26 June 2014 в 06:11
поделиться