我已经创建了一个脚本来添加/删除(切换)特定的IME。现在,在添加了IME之后,我想切换到它,就像我单击屏幕右下角的语言名称一样,然后单击弹出列表上的IME。
我已经搜索过谷歌,但我找不到合适的命令。最重要的结果是Set-WinDefaultInputMethodOverride,但我并不是说更改默认的IME或优先级;我只想像上一段所描述的那样自动进行手动更改。PowerShell不可能做到这一点吗?
发布于 2018-10-15 23:42:09
您可以在Windows中使用ALT + shift将IME转换为on或off,然后循环使用这些语言。最简单的方法是使用SendKeys。
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.SendKeys]::SendWait('%+')这将加载正确的程序集并发送ALT+Shift击键。SendKeys的特殊字符列表可以是在这里发现的。在我的系统中,这改变了语言从英语到日语,然后第二个[System.Windows.Forms.SendKeys]::SendWait('%+')将循环到苏格兰盖尔语。发送第三个击键循环回英语。
如果语言有多个输入,如日语平假名,半宽片假名,全宽度片假名,等等。您也可以使用ALT+~来循环这些。蒂尔德必须逃跑。[System.Windows.Forms.SendKeys]::SendWait('%{~}')
请注意,您试图输入文本的应用程序必须支持这一点。例如,Powershell将允许我切换到日语,但不允许我切换到Hiragana,只有标准的ascii字符。
我不知道您的最终目标是什么,但这是通过热键通过安装的语言进行转换的一种方法。
https://stackoverflow.com/questions/52821514
复制相似问题