Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Переключение раскладки клавиатуры с помощью клавиш Ctrl и Shift

Ответить
Настройки темы
Переключение раскладки клавиатуры с помощью клавиш Ctrl и Shift

Аватара для FalseTrue

Новый участник


Сообщения: 46
Благодарности: 3

Профиль | Отправить PM | Цитировать


Приветствую всех!

Подскажите, пожалуйста, как с помощью AutoIt v3.3.14.1 (использую Windows 10, x64) сделать так, чтоб по нажатию на правый Shift включалась английская раскладка клавиатуры, а по нажатию на правый Ctrl — русская. Я решил отказаться от Punto Switcher, в котором можно было легко задать такое поведение.

Отправлено: 11:47, 31-08-2015

 

Аватара для FalseTrue

Новый участник


Сообщения: 46
Благодарности: 3

Профиль | Отправить PM | Цитировать


Мне подсказали вот такой код для решения моей задачи:

Код: Выделить весь код
;~ #RequireAdmin
;~ #NoTrayIcon

#include <WinAPISys.au3>
#include <WindowsConstants.au3>
#include <APISysConstants.au3>

OnAutoItExitRegister("OnAutoItExit")

$hWnd = GUICreate("")
GUIRegisterMsg($WM_HOTKEY, "WM_HOTKEY")

_WinAPI_RegisterHotKey($hWnd, 1, $MOD_SHIFT, 0)
_WinAPI_RegisterHotKey($hWnd, 2, $MOD_CONTROL, 0)

While Sleep(1000)
WEnd

Func WM_HOTKEY($hWnd, $iMsg, $wParam, $lParam)
  Switch $wParam
    Case 1
      _WinAPI_SetKeyboardLayout(WinGetHandle(""), 0x0409)
    Case 2
      _WinAPI_SetKeyboardLayout(WinGetHandle(""), 0x0419)
  EndSwitch
EndFunc

Func OnAutoItExit()
  _WinAPI_UnregisterHotKey($hWnd, 1)
  _WinAPI_UnregisterHotKey($hWnd, 2)
EndFunc
но в нём есть следующие недостатки:
  • переключение языка происходит по левому и правому Ctrl / Shift, а нужно чтоб только по правому;
  • я использую типографскую раскладку Бирмана, и как только я выполняю скрипт с вышеуказанным кодом, то в системе появляется две дополнительные раскладки (скриншот).

Ещё мне подсказали, что решить мою задачу можно проще с помощью AutoHotkey, может кто-то знает как?

Отправлено: 18:51, 06-09-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Переключение раскладки клавиатуры с помощью клавиш Ctrl и Shift

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Некорректно работает переключение раскладки клавиатуры по ALT (правый) + SHIFT Craager Microsoft Windows 7 44 15-11-2016 15:07
[решено] Переключение раскладки клавиатуры правым SHIFT Vadikan AutoIt 12 13-03-2010 21:56
Интерфейс - [решено] IE8 Как вернуться на нормальное переключение раскладки,а не ctrl+2 shift'a lem785 Microsoft Windows 2000/XP 2 16-08-2009 19:06
Разное - [решено] Смена раскладки клавиатуры как по Ctrl+Shift так и по Alt+Shift nghst Microsoft Windows 2000/XP 1 22-01-2008 10:34
Переключение раскладки по Shift+Shift Cubbie Microsoft Windows 2000/XP 3 10-09-2005 09:14




 
Переход