Тема: AHK: код украинского языка
SendMessage,0x50,,0x4190419,,A - переключить на рус
SendMessage,0x50,,0x4090409,,A - переключить на англ?
1) Как на укр?)
2) как это (0x50,,0x4090409) узнают? Есть какая-то программа?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
SendMessage,0x50,,0x4190419,,A - переключить на рус
SendMessage,0x50,,0x4090409,,A - переключить на англ?
1) Как на укр?)
2) как это (0x50,,0x4090409) узнают? Есть какая-то программа?
Вадим, читаем первую тему на странице, редактируем пост и заголовок.
SendMessage,0x50,,0x4190419,,A - переключить на рус
SendMessage,0x50,,0x4090409,,A - переключить на англ?
1) Как на укр?)
2) как это (0x50,,0x4090409) узнают? Есть какая-то программа?
1) SendMessage,0x50,,0x422,,A ,старшее слово можно не выставлять.
2) Здесь самый левый столбик, обычно этого хватит. Полное описание тут и далее по ссылкам(там какой-то огород из макросов, получится что-то типа MAKELCID(MAKELANGID(LANG_XXX, SUBLANG_XXX_YYY), SORT_DEFAULT)- разберёмся если нужно будет ).
Посмотрел макросы, похоже всё просто:
#define MAKELANGID(p, s) ((((WORD) (s)) << 10) | (WORD) (p))
например смена на норвежскую раскладку:
WM_INPUTLANGCHANGEREQUEST := 0x50 ; сообщение
LANG_SAMI := 0x3B ; Primary language
SUBLANG_SAMI_SKOLT_FINLAND:= 0x08 ; Sublanguage
MAKELANGID( p, s)
{
return (s << 10) | p
}
; сменить активному окну раскладку на финскую
SendMessage,WM_INPUTLANGCHANGEREQUEST,,MAKELANGID(LANG_SAMI,SUBLANG_SAMI_SKOLT_FINLAND),,A
Если раскладка в системе не установлена, то её можно загрузить через LoadKeyboardLayout
Определение идентификатора раскладки:
F11::
SetFormat, Integer, H
WinGet, WinID,, A
ThreadID:=DllCall("GetWindowThreadProcessId", "Int", WinID, "Int", "0")
InputLocaleID:=DllCall("GetKeyboardLayout", "Int", ThreadID)
MsgBox, %InputLocaleID%
Exit
Перейти в интересующую раскладку и нажать f11.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться