Я пишу программу на С#, которая работает в фоновом режиме, и позволяет пользователям использовать горячую клавишу для переключения раскладок клавиатуры в активном окне. (Windows поддерживает только CTRL + SHIFT и ALT + SHIFT)
Я использую RegisterHotKey, чтобы поймать горячую клавишу, и она работает нормально.
Проблема заключается в том, что я не могу найти какой-либо API для изменения раскладки клавиатуры для сфокусированного окна.
ActivateKeyboardLayout и LoadKeyboardLayout могут изменять только раскладку клавиатуры для вызывающего потока.
Кто-нибудь знает, как изменить раскладку клавиатуры для другого потока (как это делает языковая панель)?