I have two languages set in my windows settings - Czech (default) and English (for programming). I want to **switch between them in *powershell*.**

I generally work in Czech language, and it is my default language on my PC. So whenever I (re)start any app, it starts with Czech keyboard layout.

But I am programming with English layout. So I always need to tap Alt+Shift when I am starting new programming app - i.e. powershell window.

Is there some way to do this with some command in powershell? Or in C#, possibly through some win32 api call (as I could make myself small cmdlet for this)?

I found this [question](https://stackoverflow.com/questions/263276/change-keyboard-layout-for-other-process) (and some others), but I didn't understand it(them) much...

I never worked with Win API, so I don't know what exactly is possible and how to work with it...

Does somebody has some cmdlet or little tutorial how to do this?