В каком приложении есть управление мышью?

Один из способов, которым пользователи могут обманывать в играх (настольных или сетевых), — это заставить «роботов» следить за экраном и перемещать мышь вместо них. Есть ли способ (конечно, с прозрачностью и разрешением пользователя) отслеживать, управляет ли приложение мышью? Меня в первую очередь интересует приложение для Windows, но если есть способ для других ОС, это также было бы полезно знать. Спасибо!


person Bryan    schedule 27.08.2010    source источник
comment
Я почти уверен, что положение мыши — это процесс системного уровня, и большинство операционных систем используют низкоуровневые API-интерфейсы, позволяющие приложениям перемещать мышь в определенные места. Если в этих API есть переменные или функции для отслеживания того, откуда поступают вызовы, то, возможно, но, насколько я помню (и это было давно), их нет, по крайней мере, не для окон.   -  person Nick Larsen    schedule 27.08.2010


Ответы (3)


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

Одним из способов может быть сканирование системы на наличие процессов с именами известных «мошенников событий», подобно тому, как некоторые антивирусные программы заносят приложения в черный список по имени.

person unwind    schedule 27.08.2010
comment
Да, но отслеживание имен можно легко обойти (просто переименуйте приложения/процессы). Даже отслеживание того, какие процессы занимают процессорное время, может не отследить эти приложения... - person Bryan; 27.08.2010

В Windows вы можете добавить к отслеживайте введенные сообщения клавиатуры или мыши,
и удаляйте их, если хотите.

Но я не уверен, что вы можете найти источник сообщений.

person Nick Dandoulakis    schedule 27.08.2010
comment
Интересный ракурс - проверим ссылку. - person Bryan; 27.08.2010

Просто идея: получить текущую позицию мыши и проверить быстрые изменения позиции. Например, от (10,15) до (1000, 400). Большинство роботов просто устанавливают новую позицию и не имитируют движения человека-мыши.

person Stephan Schielke    schedule 27.08.2010
comment
Согласен - профилирование использования - это один из способов, конечно, просто посмотреть, доступны ли конкретные доказательства того, что другое приложение управляет мышью, а не смотреть, похоже ли что-то на робота. - person Bryan; 27.08.2010