Мониторинг активности клавиатуры в C#, пока мое приложение находится в фоновом режиме
в первую очередь мне нужно сделать это ясно, что я не заинтересован в себе.
Мне нужен способ контролировать активность клавиатуры на самом базовом уровне, пока мое приложение находится в фоновом режиме. Мне не нужно знать, какие клавиши, мне не нужно сохранять какие-либо данные, мне не нужно или не планируется скрывать мое приложение вообще, все, что мне нужно, это знать, когда клавиши нажаты и вызвать метод.
Я ищу самый простой способ сделать это возможным, я знаю достаточное количество с# но ничего слишком сложного, так как большинство моих знаний самоучка.
Я искал некоторые подходящие способы сделать это, и я не нашел ничего полезного. Все, что я нашел, это куча людей, говорящих "нет, это незаконно" на форумах и исходном коде для углубленных кейлоггеров.
Если бы кто-нибудь из вас мог посоветовать мне, как этого достичь, я был бы очень признателен.
4 ответов
есть статья, которая имеет рабочий образец для того, что вам требуется(он также контролирует события клавиатуры и мыши в фоновом режиме) по адресу:
вам нужно будет использовать оконные крючки:
низкоуровневый крюк клавиатуры в C#
но будьте осторожны, безопасность Windows может защитить нас от того, что вы хотите!
Microsoft говорит вам Как: обрабатывать ввод с клавиатуры на уровне формы. Пока вы обрабатываете одно и то же событие(события), это работает для любого не веб-приложения.
вы также должны взглянуть на другие вопросы здесь на SO, такие как обработка ввода с клавиатуры Клин
вы можете зарегистрировать Горячий ключ Windows с RegisterHotKey Windows API, посмотрите на это сообщение в блоге: