Приложение Windows нуждается в фокусе

Я работаю над приложением для клиента и столкнулся с проблемой.

Приложение общается с мобильным телефоном и выполняет обработку вызовов. Одна из вещей, которую он делает, это показывает кнопку «ответить на звонок». Щелчок мышью работает нормально.

Но клиент хочет, чтобы для этого было сочетание клавиш, и это проблема. Я могу получить фокус, если окно в приложении имеет фокус. Но предотвращение кражи фокуса Windows не позволяет мне фокусироваться, если пользователь находится в другом приложении.

Пожалуйста, не обсуждайте плюсы и минусы кражи фокуса здесь. Я их уже знаю и передал своему клиенту. Неправильно или нет, они все еще хотят сделать это, и они платят по счету, поэтому они принимают решение.

Для этого есть ряд обходных путей, но, похоже, они больше не работают. Например, я установил HKEY_CURRENT_USER \ Control Panel \ Desktop \ ForegroundFlashCount в 3 и … \ ForegroundLockTimeout в 0.

Так какие у меня варианты? Это невозможно? Или мне нужно создать приложение для подключения клавиатуры, которое будут ненавидеть антивирусные программы?

Это приложение на Qt / C ++, но если у вас есть пример кода на C #, который может это сделать, это тоже замечательно.

Я надеюсь, что вы можете помочь.

2

Решение

Я не знаю, как это от, но вы могли бы попробовать RegisterHotKey.

Он позволяет вам прослушивать события клавиатуры в масштабе всей системы, а не только когда ваше приложение находится в фокусе. Вам не нужно указывать дескриптор окна, если вы оставите этот аргумент пустым, события все еще будут опубликованы в вашей ветке.

2

Другие решения


По вопросам рекламы [email protected]