В XP переключать раскладку проблем не вызывает
А как можно переключить раскладку в Win 7
Вот пример, прекрасно работающий в XP и не работающий в 7
А как можно переключить раскладку в Win 7
Вот пример, прекрасно работающий в XP и не работающий в 7
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 343, 114, 192, 114)
$Input1 = GUICtrlCreateInput("", 16, 32, 313, 21)
$Button1 = GUICtrlCreateButton("Eng", 80, 72, 75, 25)
$Button2 = GUICtrlCreateButton("Rus", 168, 72, 75, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$ret=DllCall("user32.dll", "long", "LoadKeyboardLayout", "str", "00000409", "int", 0)
DllCall("user32.dll", "ptr", "SendMessage", "hwnd", $Form1, "int", "0x50", "int", 1, "int", $ret[0])
GUICtrlSetState ($Input1,$GUI_FOCUS)
Case $Button2
$ret=DllCall("user32.dll", "long", "LoadKeyboardLayout", "str", "00000419", "int", 0)
DllCall("user32.dll", "ptr", "SendMessage", "hwnd", $Form1, "int", "0x50", "int", 1, "int", $ret[0])
GUICtrlSetState ($Input1,$GUI_FOCUS)
EndSwitch
WEnd