>>313
https://nixeneko.hatenablog.com/?page=1517587368(規制のため全角です)
を参照してください。そこからのコピペですが、
F10::
SetFormat, Integer, H
WinGet, WinID,, A
ThreadID:=DllCall("GetWindowThreadProcessId", "UInt", WinID, "UInt", 0)
InputLocaleID:=DllCall("GetKeyboardLayout", "UInt", ThreadID, "UInt")
Send, %InputLocaleID%
Return

実行すると、
MS-IME → 0x4110411
Japanist2003 → 0xE0210411
が得られます。atok、googleIMEは使ってません、あしからず。

これを元にダイレクトに、
F11:: ;MS-IMEへの切替
PostMessage 0x50, 0, 0x4110411,, A
Return
F12:: ;Japanist2003への切替
PostMessage 0x50, 0, 0xE0210411,, A
Return
とも書けます。