Ho eu faço para obter e definir o idioma de entrada de outro aplicativo?
Pergunta
Aqui está o problema: tenho um usuário com deficiência e usando um teclado virtual especializado. Ele não tem problemas para trocar de linguagem em seu teclado virtual, mas nem sempre altera o idioma de entrada (teclado de entrada?) Do aplicativo atualmente ativo - qual é exatamente o que ele precisa.
Então, há alguma chamada de API que eu possa fazer para consultar o teclado de entrada atual de uma janela? Mais importante, existe uma maneira de definir externamente a linguagem de entrada de outra janela?
Solução
Existe a classe "inputLanguage" em System.Windows.Forms (.NET). Ele permite definir a linguagem de entrada desejada. Mais informações disponíveis na descrição da classe MSDN InputLanguage.
Quanto a definir o idioma para uma janela específica - há uma solução para isso:
- Você deve criar um programa para capturar a janela selecionada atualmente e executá -la em segundo plano;
- Quando o programa está em execução, ele captura os nomes dos programas em que o usuário está trabalhando e define o idioma desejado;
Eu sugiro que você repasse um exemplo - http://www.java2.com/tutorial/csharp/0520__windows/getcurrentactivewindow.htm - São o básico necessário para obter informações sobre os programas atualmente ativos. Um exemplo de configuração do idioma de entrada está disponível no artigo do MSDN.