C# 以编程方式获取和设置在Windows上切换的语言的键盘快捷键

C# 以编程方式获取和设置在Windows上切换的语言的键盘快捷键,c#,c++,windows,winapi,keyboard-shortcuts,C#,C++,Windows,Winapi,Keyboard Shortcuts,我的桌面应用程序在Windows 7/8上运行。操作系统中启用了多个键盘布局 有没有一种方法可以通过编程方式获取和设置系统键盘快捷键的值,以便在不同语言之间切换以及切换到某种语言(如CTRL+SHIFT可切换到不同语言,CTRL+0可切换到英语,CTRL+1可切换到荷兰语等)。有,您可以使用SystemParametersInfo函数获取一些信息。在这里检查 要获取当前设置,您可以检查系统注册表,即: HKEY_CURRENT_USER\Keyboard Layout\Toggle\ 至少,在

我的桌面应用程序在Windows 7/8上运行。操作系统中启用了多个键盘布局


有没有一种方法可以通过编程方式获取和设置系统键盘快捷键的值,以便在不同语言之间切换以及切换到某种语言(如CTRL+SHIFT可切换到不同语言,CTRL+0可切换到英语,CTRL+1可切换到荷兰语等)。

有,您可以使用SystemParametersInfo函数获取一些信息。在这里检查


要获取当前设置,您可以检查系统注册表,即:

HKEY_CURRENT_USER\Keyboard Layout\Toggle\
至少,在我的Win10环境中,我有语言热键(如果不存在,回退到等效热键)和布局热键,设置了值1(Alt+Shift)、2(Ctrl+Shift)或4(重重音)。
玩它一定会有帮助。

谢谢!我发现了一个有用的SETLANGTOGGLE参数,用于设置在输入语言之间切换的热键集。但是仍然没有用于启用特定语言的getter和参数。遗憾的是,如果更改注册表值,则必须注销并登录才能生效:(