Программно Установить Сочетание Клавиш Смены Языка Ввода

Тема в разделе "Общие вопросы по С и С++", создана пользователем gitzzz87, 26 сен 2014.

  1. gitzzz87

    gitzzz87 New Member

    Регистрация:
    26 сен 2014
    Сообщения:
    1
    Симпатии:
    0
    Доброго времени суток!

    как можно программно установить сочетание клавиш смены языка ввода\раскладки клавиатуры?

    т.е. например язык меняется по Alt+Shift, а программа должна сменить на Ctrl+Shift и наоборот.
     
  2. Valimor

    Valimor Well-Known Member

    Регистрация:
    10 апр 2010
    Сообщения:
    45
    Симпатии:
    0
    отлавливай нажатие клавиш Ctrl+Shift в программе, потом используя winApi переключай язык). Для переключения на следующий или предыдущий язык ввода используется WINAPI-функция ActivateKeyboardLayout следующим образом( код на языке C#);)далее немного копипаста, оригинал Внешняя ссылка)
    Код (Text):
    const int HLK_NEXT = 1; //для переключения на следующий язык
    const int HLK_PREV = 0; //для переключения на предыдущий язык
    [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
    public static extern IntPtr ActivateKeyboardLayout(int hkl, uint uFlags);
    //Далее где-то глубоко в коде
    ActivateKeyboardLayout(HLK_PREV, 0);
    ActivateKeyboardLayout(HLK_NEXT, 0);
     
Загрузка...

Поделиться этой страницей