Alterar o layout do teclado para outro processo

Estou escrevendo um programa em C # que é executado em segundo plano e permite que os usuários usem uma tecla de atalho para alternar os layouts de teclado na janela ativa. (O Windows suporta apenasCTRL+MUDANÇA eALT+MUDANÇA)

Estou usando o RegisterHotKey para pegar a tecla de atalho e está funcionando bem.

O problema é que não consigo encontrar nenhuma API para alterar o layout do teclado para a janela focada.

ActivateKeyboardLayout e LoadKeyboardLayout só podem alterar o layout do teclado para o segmento de chamada.

Alguém sabe como alterar o layout do teclado para um segmento diferente (da mesma forma que a barra de idiomas)?

questionAnswers(4)

yourAnswerToTheQuestion