Alterando o idioma do Windows programaticamente

Alterando o idioma do Windows programaticamente

Tenho vários idiomas de entrada no Windows XP: inglês e hebraico. Eu uso os dois.

Quero fazer um script que mude programaticamente para o inglês. (Se isso for difícil de fazer, uma solução alternativa pode ser pressionar programaticamente Alt- Shift, se for possível.)

Alguém sabe como fazer isso?

Responder1

Não consegui encontrar nenhuma maneira programática correta de fazer isso, mas é muito fácil fingir pressionar uma tecla. Aqui está um script do PowerShell que faz isso:

[System.Reflection.Assembly]::Load("System.Windows.Forms, Versão=2.0.0.0, Cultura=neutro, PublicKeyToken=b77a5c561934e089")
[System.Windows.Forms.SendKeys]::SendWait("%+" )

EDITAR:

Descobri uma maneira melhor de fazer isso programaticamente, essencialmente usando as funções LoadKeyboardLayoute ActivateKeyboardLayout. Admito que não é muito fácil criar um script.

informação relacionada