в данном случае так как всегда возращает "0419"
~vkBF::
{
if (A_Language != "0419") {
Send "{BS}"
Send "{NumpadDot}"
}
return
}
ну или другим способом как то решить задачу привязать к клавише точка (в русской раскладке) чтобы была точка по ней и в английской?
А так? ~vkBF:: { Lang=0x4190419 ; Русский. WinGet, WinID,, A ThreadID:=DllCall("GetWindowThreadProcessId", "Int", WinID, "Int", "0") InputLocaleID:=DllCall("GetKeyboardLayout", "Int", ThreadID) if (InputLocaleID = Lang) { Send "{BS}" Send "{NumpadDot}" } return }
тоже не работает, переписал ваш скрипт под 2.0 версию ~vkBF:: { Lang := 0x4190419 ; Русский. WinID := WinGetID("A") ThreadID:=DllCall("GetWindowThreadProcessId", "Int", WinID, "Int", "0") InputLocaleID:=DllCall("GetKeyboardLayout", "Int", ThreadID) MsgBox InputLocaleID if (InputLocaleID != Lang) { Send "{BS}" Send "{NumpadDot}" } return } здесь MsgBox в любой локали возвращает одинаковое значение
Мне кажется тут != не работает
!= работает, но при чём тут он
Стикер
то есть при работе на удалённом рабочем столе эту клавишу обрабатывать не надо (return), иначе будут набираться неправильные символы
Стикер
Обсуждают сегодня