autohotkey 控制输入法


getime()
{
    HKL := DllCall("GetKeyboardLayout", "UInt", DllCall("GetWindowThreadProcessId", "UInt", WinExist("A"), "UInt", 0), "UInt")
    LayoutID := Format("{:X}", HKL)


    if (LayoutID==0x04090409)
    {
        c:= "英文"

    }
    else if (LayoutID==0x08040804)
    {
        c:= "中文"
    }


    return LayoutID
}


setimeEnglish()
{
  DllCall("ActivateKeyboardLayout", "UInt", 0x04090409, "UInt", 0)
  return 
}

setimechinese()
{
  DllCall("ActivateKeyboardLayout", "UInt", 0x08040804, "UInt", 0)
  return 
}

第一个函数调用后返回当前输入法是英文还是中文的.
第二个强制切换当前输入法为英文
第三个切换输入法为中文.
利用这3个函数就可以控制了.

比如我一个快捷键必须英文时候输入. 比如写代码时候. 就可以这样setimeEnglish一下.

posted on 2025-10-20 10:26  张博的博客  阅读(3)  评论(0)    收藏  举报

导航