Я работаю над приложением для клиента и столкнулся с проблемой.
Приложение общается с мобильным телефоном и выполняет обработку вызовов. Одна из вещей, которую он делает, это показывает кнопку «ответить на звонок». Щелчок мышью работает нормально.
Но клиент хочет, чтобы для этого было сочетание клавиш, и это проблема. Я могу получить фокус, если окно в приложении имеет фокус. Но предотвращение кражи фокуса Windows не позволяет мне фокусироваться, если пользователь находится в другом приложении.
Пожалуйста, не обсуждайте плюсы и минусы кражи фокуса здесь. Я их уже знаю и передал своему клиенту. Неправильно или нет, они все еще хотят сделать это, и они платят по счету, поэтому они принимают решение.
Для этого есть ряд обходных путей, но, похоже, они больше не работают. Например, я установил HKEY_CURRENT_USER \ Control Panel \ Desktop \ ForegroundFlashCount в 3 и … \ ForegroundLockTimeout в 0.
Так какие у меня варианты? Это невозможно? Или мне нужно создать приложение для подключения клавиатуры, которое будут ненавидеть антивирусные программы?
Это приложение на Qt / C ++, но если у вас есть пример кода на C #, который может это сделать, это тоже замечательно.
Я надеюсь, что вы можете помочь.
Я не знаю, как это от, но вы могли бы попробовать RegisterHotKey
.
Он позволяет вам прослушивать события клавиатуры в масштабе всей системы, а не только когда ваше приложение находится в фокусе. Вам не нужно указывать дескриптор окна, если вы оставите этот аргумент пустым, события все еще будут опубликованы в вашей ветке.