我有这个非常讨厌的问题,Win7添加随机键盘语言布局...我使用瑞典语和日语,因为我住在日本,我只使用这两个(因为我可以写瑞典键盘上没有问题的所有英文字符)
但是当我用“Alt + Left Shift”在它们之间切换时,列表中有第三种,有时甚至是第四种新语言。当我打开设置时,它们不是,我再说一遍,没有列在那里。然而,当我按下快捷方式切换它们时,它们被选中..
我希望解决这个问题,因为当我举行两次对话时,日语和英语/瑞典语非常烦人。
如果有人有任何想法,lemme知道!
我有这个非常讨厌的问题,Win7添加随机键盘语言布局...我使用瑞典语和日语,因为我住在日本,我只使用这两个(因为我可以写瑞典键盘上没有问题的所有英文字符)
但是当我用“Alt + Left Shift”在它们之间切换时,列表中有第三种,有时甚至是第四种新语言。当我打开设置时,它们不是,我再说一遍,没有列在那里。然而,当我按下快捷方式切换它们时,它们被选中..
我希望解决这个问题,因为当我举行两次对话时,日语和英语/瑞典语非常烦人。
如果有人有任何想法,lemme知道!
Answers:
寻找有关如何通过自动化解决此问题的答案:Windows 7在哪里存储它之间切换的输入语言。
到目前为止,蛮力方法:Autohotkey脚本。这不是最佳的,但它可以完成工作:
^+!l::
Run, Control input.dll
Sleep, 1000
Send {Tab}{Tab}
Sleep, 100
Send {Enter}
Sleep, 1000
Send e
Sleep, 100
Send {Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}
Sleep, 100
Send {Right}{Down}{Right}US{Space}{Enter}
Sleep, 100
Send {Tab}{Tab}{Tab}
Sleep, 100
Send {Enter}
Sleep, 1000
Send {Tab}{PgDn}{PgDn}{PgDn}
Send {Tab}{Tab}{Enter}
Sleep, 100
Send A
Sleep, 100
Send {Enter}
return
基本上,当你开始收到错误时按Ctrl + Shift + Alt + L并修复它 - 添加英语(美国)并删除它。可能需要围绕等待值进行调整,也可能需要调整Down的数量 - 我不知道每台计算机上的语言列表是否相同(也许它会随时间变化)。
我有一个比Autohotkey更好的解决方案。.bat
使用以下内容创建文件:
control intl.cpl,, /f:"LangAdd.xml"
control intl.cpl,, /f:"LangRemove.xml"
和相应的xml文件包含以下内容:
<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">
<gs:UserList>
<gs:User UserID="Current"/>
</gs:UserList>
<gs:InputPreferences>
<gs:InputLanguageID Action="add" ID="0409:00000409"/>
</gs:InputPreferences>
</gs:GlobalizationServices>
和
<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">
<gs:UserList>
<gs:User UserID="Current"/>
</gs:UserList>
<gs:InputPreferences>
<gs:InputLanguageID Action="remove" ID="0409:00000409"/>
</gs:InputPreferences>
</gs:GlobalizationServices>
409是en-US的语言。将其更改为此列表中的违规语言代码。如果需要,可以将键盘快捷方式指定给bat文件的快捷方式,也可以选择“运行:快捷方式首选项中最小化”以避免闪烁窗口。