Различение аппаратных и эмулированных событий мыши и клавиатуры в Windows для настольных приложенийDelphi , Рабочий стол , Рабочий столВопрос, который стоит перед разработчиками настольных приложений на Windows, заключается в возможности определения, происходят ли события клавиатуры и мыши от аппаратных устройств или же они генерируются программным обеспечением, например, через TeamViewer, Steam или другие программы удаленного доступа. Цель не в том, чтобы предотвратить действия ботов, а в предотвращении удаленного доступа к приложению. Похоже, что API RawInput позволяет обнаружить поддельные события, отправленные с помощью SendInput API. Это верно? Описание решенияДля решения данной задачи можно использовать низкоуровневые хуки для клавиатуры и мыши, предоставляемые функцией Для хука клавиатуры структурой, передаваемой хуку, является Для хука мыши используется структура Оба хука могут возвращать ненулевое значение для блокировки ввода, чтобы он не был передан дальше по цепочке хуков и, соответственно, целевому окну. Что касается Raw Input API, то согласно устаревшей версии документации для функции Пример кода на Object Pascal (Delphi)
Важно отметить, что использование хуков может привести к сложностям в отладке и взаимодействии с другими приложениями, поэтому необходимо тщательно планировать их использование в приложении. ЗаключениеИспользуя Разработчики настольных приложений на Windows столкнулись с задачей различения аппаратных и эмулированных событий мыши и клавиатуры для предотвращения удаленного доступа к приложению, что возможно с использованием низкоуровневых хуков и анализа Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Рабочий стол ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |