如何在powershell中更改当前的键盘布局?

jum*_*mbo 5 keyboard powershell winapi

我在 Windows 设置中设置了两种语言 - 捷克语(默认)和英语(用于编程)。我想powershell 中在它们之间切换。

我通常使用捷克语工作,这是我 PC 上的默认语言。因此,每当我(重新)启动任何应用程序时,它都会以捷克语键盘布局开始。

但我正在用英文布局编程。所以当我开始新的编程应用程序时,我总是需要点击 Alt+Shift - 即 powershell 窗口。

有没有办法用powershell中的一些命令来做到这一点?或者在 C# 中,可能通过一些 win32 api 调用(因为我可以为此制作自己的小 cmdlet)?

我发现了这个问题(和其他一些问题),但我不太了解它(他们)...

我从来没有使用过 Win API,所以我不知道什么是可能的以及如何使用它......

有人有一些 cmdlet 或小教程如何做到这一点吗?

jum*_*mbo -1

我找到了很好而且非常简单的解决方案!Codeplex 上有WASP项目。该项目允许操作窗口、向其发送按键并向其发送点击。

我的问题的解决方案是在 powershell 启动时导入 WASP 模块,然后选择 powershell 窗口(使用 WASP)并向其发送 Alt+Shift 按键(使用 WASP)。

以下是要包含到 powershell profile.ps1文件中的代码,以便将语言更改为下一种语言:

Import-Module WASP
Select-Window powershell | Send-Keys "%+" # '%' = ALT key, '+' = SHIFT key
Run Code Online (Sandbox Code Playgroud)