KBLAutoSwitch(https://github.com/flyinclouds/KBLAutoSwitch)是一款中英文输入法自动切换软件,但是在使用过程中偶尔会出现无法自动切换成自己想要的输入法的问题,比如我将cmd窗口设为自动切换英文输入法,但是在使用过程中如果当前没有cmd窗口,而是从开始菜单直接创建一个窗口,这种情况下KBLAutoSwitch无法切换成预设的英文输入法,研究其源代码,发现是由于在接受系统窗口回调消息切换输入法的时候软件通过
SetTimer, Label_Shell_KBLSwitch, -100
这句话来实现延时100毫秒切换窗口,但是从打开窗口的消息发出到最后窗口出现,如果超过100毫秒,那么这个操作将失效,这时候我们只需要将上述语句改成如下即可
SetTimer, Label_Shell_KBLSwitch, -700
以上语句在2.4.1版本的702行