Win API以编程方式更改输入语言

时间:2009-05-04 11:04:33

标签: c++ winapi visual-c++ sdk

我想以编程方式将WinXP中的输入语言更改为西班牙语。是否有支持该功能的API?

由于

2 个答案:

答案 0 :(得分:8)

答案 1 :(得分:0)

我设法通过键盘事件和快捷键分配来做到这一点。

  1. 转到“文本服务和输入语言”(这就是所谓的Windows 7控制面板)
  2. 为单向语言分配键。例如“致英语”和“致希伯来语”。我选择了Alt-Shift-7和Alt-Shift-8,因为它们很少在其他地方使用。
  3. 在需要时从您的应用中发送相应语言的按键组合。

注意:

如果“您的应用程序”是一个外部实用程序(我用Python编写了我的应用程序),则它一定不能调用窗口,否则/ your-app /会占据焦点,并且会改变语言。在python中,我通过使用无GUI的pyw脚本文件名解决了该问题。 (或使用pythonw.exe调用脚本)

本文介绍了如何在python中发送键盘事件:

https://python-decompiler.com/article/2012-11/how-to-generate-keyboard-events-in-python