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