Joshin Joy Ответов: 1

Зарегистрируйте горячую клавишу в c#. Горячая клавиша зарегистрирована и в другом приложении


У меня есть программное обеспечение, которое начинает играть при нажатии клавиши F5 и прекращает играть при нажатии клавиши F7. что мне нужно, так это обнаружить те же самые F5 и F7, чтобы запустить и остановить мое приложение. Возможно ли это??

Что я уже пробовал:

Я попытался использовать горячую клавишу в C#, используя dll-файл "user32". он работает только тогда, когда мое другое программное обеспечение не находится в фокусе. Может ли кто-нибудь вести меня.

1 Ответов

Рейтинг:
1

OriginalGriff

Горячие клавиши работают только тогда, когда ваше приложение имеет фокус - иначе мы вообще не могли бы их использовать - подумайте, сколько комбинаций клавиш использует Excel и сколько из них также используется (для другой цели) Word. Если горячие клавиши были распределены по всем приложениям, то какой из них получает F2, когда я нажимаю его?

То, что вы пытаетесь сделать, требует чего - то гораздо более сложного: глобальных Крючков- и здесь есть проблемы.
1) глобальное зацепление в C# возможно, но очень сложно и подвержено ошибкам. Когда происходят ошибки, вся ваша система может легко стать нестабильной. И это включает в себя то время, когда вы пытаетесь разработать код! Резервное копирование ну, резервное копирование часто.
2) Использование F5 и F7 в качестве "глобальных ключей" испортит вас, а не только пользователей. F5-это Visual Studio для "запуска", поэтому, если ваше приложение захватит его, вы больше не сможете легко разрабатывать программное обеспечение.
3) глобальное подключение - это один из способов разрешить работу кейлоггеров, поэтому не ожидайте, что он будет работать в будущих версиях Windows-проблемы безопасности могут означать, что он будет отключен или потребует повышения уровня.
4) Вы начинаете отбирать ключи у пользователей, чтобы заставить ваше приложение работать, и некоторые - если не большинство - будут очень, очень раздражены. Многие из моих приложений используют большинство функциональных клавиш (с комбинациями SHIFT, CTRL и DALT и без них) в качестве "ярлыков для опытных пользователей", и если вы начнете хватать их, ваше программное обеспечение будет удалено с крайним предубеждением ...

Если после этого вы решите идти дальше, то начните здесь: Глобальные Обработчики С#[^- только не говори, что тебя не предупреждали!