Переключение языка в Windows

Переключение языка в Windows

Сделала AHK скрипт для переключения языка ввода с помощью сочетания клавиш.

Super + F1 — Английский; Super + F2 — Японский; Super + F3 — Русский.

;Lang
;English
#F1::
SetDefaultKeyboard(0x0409)
return
;Japanese
#F2::
SetDefaultKeyboard(0x0411)
return
;Russian
#F3::
SetDefaultKeyboard(0x0419)
return

SetDefaultKeyboard(LocaleID){
	Global
	SPI_SETDEFAULTINPUTLANG := 0x005A
	SPIF_SENDWININICHANGE := 2
	Lan := DllCall("LoadKeyboardLayout", "Str", Format("{:08x}", LocaleID), "Int", 0)
	VarSetCapacity(Lan%LocaleID%, 4, 0)
	NumPut(LocaleID, Lan%LocaleID%)
	DllCall("SystemParametersInfo", "UInt", SPI_SETDEFAULTINPUTLANG, "UInt", 0, "UPtr", &Lan%LocaleID%, "UInt", SPIF_SENDWININICHANGE)
	WinGet, windows, List
	Loop %windows% {
		PostMessage 0x50, 0, %Lan%, , % "ahk_id " windows%A_Index%
	}
}
return

К сожалению, данная DLL не переключает языки в системных интерфейсах, например в меню пуск ?