orlov0562
@orlov0562
I'm cool!

Как отловить нажатие Alt+Shift вне моего приложения (глобально)?

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

Хочу сделать плавающий по экрану индикатор раскладки.

Необходимо глобально отслеживать изменение раскладки. Переключение происходит по Alt+Shift.

Насколько я помню, с регистрацией глобального хоткея состоящего только из кнопок-модификаторов, есть трудности.

Поделитесь пожалуйста кодом, позволяющим отловить нажатие Alt+Shift глобально, вне моего приложения.

Спасибо!
  • Вопрос задан
  • 640 просмотров
Решения вопроса 2
maaGames
@maaGames
Погроммирую программы
Ваш индикатор не будет работать при таком подходе. Сейчас язык привязывается к каждому приложению, т.е. вы можете работать сразу с несколькими приложениями и в каждом из них будет активна своя раскладка и свой язык. Переключаясь между приложениями язык переключается и индикаторе раскладки.
Не говоря о том, что я вот язык переключаю клавишей CAPS_LOCK.
Ответ написан
@Sumor
Вне вашего приложения - есть системный индикатор, который можно таскать куда угодно. Хотите сделать такой-же - изучайте хуки.
В вашем приложении вы можете получать текущую раскладку при получении фокуса на ваши окна и выставлять свой индикатор в нужное положение. Для отлова смены раскладки при вашем активном окне - обрабатывайте получение события WM_INPUTLANGCHANGE.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Необходимо глобально отслеживать.

Что бы глобально что-то отслеживать, нужно установить хук.
Ответ написан
@BashkaMen
C# программист
https://www.codeproject.com/Articles/19004/A-Simpl...

Создаёте экземпляр, добавляете кнопки которые хотите слушать, и подписывается на событие
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы