Что нового

не могу поменять язык

Intelide

Новичок
Сообщения
3
Репутация
0
Здравствуйте, пытался поменять язык вот так
Код:
#Include <WinAPIEx.au3>

;Global Const $LANG_RUS = 0x0419 ;Русский
Global Const $LANG_ENG = 0x0409 ;Англиский

_WinAPI_SetKeyboardLayout(WinGetHandle("remote scan"), $LANG_ENG) ;меняем язык
не работает в моем приложение, хотя работает в блокноте
пробовал так
Код:
Send("{CTRLDOWN}")
Send("+")
Send("{CTRLUP}")
пробовал так
Код:
Send("+^")

не работает не в какую
подскажите пожалуйста как просто нажать ctrl + shift что бы менялся язык в винде, этого мне будет достаточно
заранее спасибо
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 

vovsla

Осваивающий
Сообщения
607
Репутация
36
У меня работает

Код:
_SetKeyboardLayout('00000419', 'Название окна')

;---------------------------------------------------------_SetKeyboardLayout-------------------------------------------------------
Func _SetKeyboardLayout($sLayoutID, $WinTitle)
	$hWnd=WinGetHandle($WinTitle)
	Local $WM_INPUTLANGCHANGEREQUEST = 0x50
	Local $ret = DllCall("user32.dll", "long", "LoadKeyboardLayout", "str", $sLayoutID, "int", 0)
	DllCall("user32.dll", "ptr", "SendMessage", "hwnd", $hWnd, "int", $WM_INPUTLANGCHANGEREQUEST, "int", 1, "int", $ret[0])
EndFunc
 
Верх