Как программно эмулировать движения мышью

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Как программно эмулировать движения мышью

Сообщение KPEATOP » 04.02.2016 (Чт) 9:20

Подскажите как программно передвигать курсор мыши по экрану. Очень нужно просто тупо двигать мышь в мое отсутствие за рабочим столом.

[Хакер] :: Замечание за ненадлежащее название темы.
Вечность пахнет нефтью

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16474
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Mouse

Сообщение Хакер » 04.02.2016 (Чт) 9:28

—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Как программно эмулировать движения мышью

Сообщение KPEATOP » 04.02.2016 (Чт) 10:23

Можно небольшой код, чтобы можно было уже использовать. Желательно код для Excel. Чтобы макрос запускать и мышка двигалась. Периодичность движения мышки я по времени уже сам сделаю как мне надо
Вечность пахнет нефтью

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 04.02.2016 (Чт) 12:17

KPEATOP писал(а):Можно небольшой код

Там же ничего сложного нет - в чём проблема самому написать?
Последний раз редактировалось Хакер 04.02.2016 (Чт) 13:50, всего редактировалось 1 раз.
Причина: Оффтопик

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Как программно эмулировать движения мышью

Сообщение ger_kar » 04.02.2016 (Чт) 22:14

Qwertiy писал(а):Там же ничего сложного нет - в чём проблема самому написать?

Ну кому то все таки это сложно. Хотя тут все действительно все просто. Перейдя по ссылке, которую дал Хакер, можно обнаружить функцию с описанием изучив которое (я изучал через переводчик) можно написать вот такой код
Код: Выделить всё
Option Explicit

Private Const MOUSEEVENTF_ABSOLUTE      As Long = &H8000
Private Const MOUSEEVENTF_LEFTDOWN      As Long = &H2
Private Const MOUSEEVENTF_LEFTUP        As Long = &H4
Private Const MOUSEEVENTF_MIDDLEDOWN    As Long = &H20
Private Const MOUSEEVENTF_MIDDLEUP      As Long = &H40
Private Const MOUSEEVENTF_MOVE          As Long = &H1
Private Const MOUSEEVENTF_RIGHTDOWN     As Long = &H8
Private Const MOUSEEVENTF_RIGHTUP       As Long = &H10
Private Const MOUSEEVENTF_VIRTUALDESK   As Long = &H4000
Private Const MOUSEEVENTF_WHEEL         As Long = &H800
Private Const MOUSEEVENTF_XDOWN         As Long = &H80
Private Const MOUSEEVENTF_XUP           As Long = &H100


Private Declare Sub mouse_event _
                Lib "user32.dll" _
               ( _
                ByVal dwFlags As Long, _
                ByVal dx As Long, _
                ByVal dy As Long, _
                ByVal cButtons As Long, _
                ByVal dwExtraInfo As Long _
                )

Sub MoveMouse(ByVal dx As Long, ByVal dy As Long)
    Call mouse_event(MOUSEEVENTF_MOVE, dx, dy, 0, 0)
End Sub

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

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Как программно эмулировать движения мышью

Сообщение KPEATOP » 12.02.2016 (Пт) 15:04

Спасибо все за помощь, мышка двигается. Но моей проблемы это оказывается не решило. Проблема в том, что у меня в компе загружена одна программа, которая следит за моим компом (работает он или нет, если работает, то в каких программах и т.д.). В общем когда меня за компом нет, естественно эта прога сохраняет у себя, что я не работал (и это верно). Но хотелось бы чтоб прога думала, что я работал.
Вот поэтому я сделал эмулятор движение мышкой (с вашей помощью конечно), но это не помогло. В мое отсутствие курсор мышки двигался, а прога все равно выдает, что меня не было. Механическое движение мыши прога воспринимает как мою работу. Вот хотелось бы узнать можно ли еще эмулировать какие то сигналы мыши или нажатия клавиш похожие на механические действия. Или это невозможно?
Вечность пахнет нефтью

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Как программно эмулировать движения мышью

Сообщение ger_kar » 12.02.2016 (Пт) 15:52

Ну я думаю, что необходимо для начала все таки выяснить, на что реагирует эта прога. Может она движения мыши как таковые вообще не учитывает, а учитывает нажатия, открытия окон или какие то другие определенные действия. А что за прога? Может ее поковырять отладчиком и посмотреть что она делает? А вообще без отладки можно например попробовать вручную шевелить мышь в течении определенного времени, при этом другие действия не выполнять и посмотреть что будет. Нажатия кнопок мыши тоже можно эмулировать при помощи той же функции (см. описание по ссылке Хакера). А вообще всяческие манипуляции эмулирующие действия юзера включая работу с окнами и т.д. проще всего написать на AutoIt Script. Так как он специально заточен под это. И осваивается он буквально за вечер. Но это если следящая прога будет воспринимать такие манипуляции, а если не будет на это реагировать тогда нужно наверное копать в глубину виндов :)
Бороться и искать, найти и перепрятать

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Как программно эмулировать движения мышью

Сообщение KPEATOP » 12.02.2016 (Пт) 16:04

Прога называется ДИСЦИПЛИНА. Может кто слышал про нее. Сам мышку двигал, все норм, как будто работаю. Эмулятор движения мышки не воспринимает. Наверно и эмуляторы кнопок мыши тоже не будет воспринимать. Наверно она воспринимает какие то сигналы которая мышка передает в комп когда двигается. Есть ли возможность передавать такие сигналы? Вряд ли наверно. это наверно только механически можно.
Вечность пахнет нефтью

The trick
Постоялец
Постоялец
 
Сообщения: 774
Зарегистрирован: 26.06.2010 (Сб) 23:08

Re: Как программно эмулировать движения мышью

Сообщение The trick » 12.02.2016 (Пт) 19:01

Возможно эта программа тестирует флаг LLMHF_INJECTED. Если это так, то можно попробовать установить в этом приложении хук в DLL, тем самым поставив свой обработчик перед существующим обработчиком. В своем обработчике в свою очередь снимать флаги инжекта. Все это актуально только если приложение использует для мониторинга хуки.
UA6527P

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Как программно эмулировать движения мышью

Сообщение ger_kar » 12.02.2016 (Пт) 19:14

Скачал прогу, распаковал и самая первая же библиотека в списке имеющая имя BRWSERDETECTION.DLL в описании имеет следующую строку "WindowHook". Само приложение и все его библиотеки, за исключением одной, написаны на платформе .Net. Пока на данное время это все. Нативное приложение можно было бы поковырять отладчиком, а как ковырять "это поделие" я не знаю ибо с .Net'ом не дружу.
Бороться и искать, найти и перепрятать

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 13.02.2016 (Сб) 0:26

ger_kar писал(а):Само приложение и все его библиотеки, за исключением одной, написаны на платформе .Net.

Задай вопрос в другом разделе, отвечу. А то тут всё равно Хакер удалит.

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Как программно эмулировать движения мышью

Сообщение KPEATOP » 16.02.2016 (Вт) 8:42

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

bon818
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 267
Зарегистрирован: 29.08.2009 (Сб) 4:49
Откуда: Ташкент

Re: Как программно эмулировать движения мышью

Сообщение bon818 » 16.02.2016 (Вт) 14:51

KPEATOP писал(а):Наверно просто будет купить китайский будильник (плоский) с секундной стрелкой. Положить его на стол циферблатом наверх и на циферблат положить мышку. Мышь будет реагировать на секундную стрелку и двигаться по экрану.

Раз уж пошли такие инновации, то купи лучше вибратор и примотай к мышке.
Вещь поуниверсальний будет, и не только мышь сможет эмулировать. :D

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Как программно эмулировать движения мышью

Сообщение ger_kar » 16.02.2016 (Вт) 15:11

Ну кстати я ради интереса опробовал инновацию с будильником и это однако не сработало. Продолжил эксперимент и пошаркал по дну мышки отверткой, на сии манипуляции мышка вообще никак не отреагировала и указатель остался на месте. Если уж и делать механическую эмуляцию, так только так, чтобы она либо мышь елозила об поверхность, либо поверхность об мышь. Кстати вибратор наверное мог бы помочь, и желательно что бы он еще и от USB порта запитывался :)
Бороться и искать, найти и перепрятать

Kroos
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 21.02.2012 (Вт) 16:57

Re: Как программно эмулировать движения мышью

Сообщение Kroos » 16.02.2016 (Вт) 23:04

ger_kar писал(а):Скачал прогу, распаковал
можешь кинуть ссылку где скачать, не хочу региться у них? посмотрел бы

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Как программно эмулировать движения мышью

Сообщение ger_kar » 16.02.2016 (Вт) 23:16

На официальном сайте вот по этой ссылке https://disciplina.ru/download сам агент можно скачать абсолютно бесплатно и без всякой регистрации, регистрация нужна только для работы самого сервиса.
Бороться и искать, найти и перепрятать

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Как программно эмулировать движения мышью

Сообщение KPEATOP » 17.02.2016 (Ср) 8:40

bon818 писал(а): купи лучше вибратор и примотай к мышке.


Тогда со стола падать будет
Вечность пахнет нефтью

Kroos
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 21.02.2012 (Вт) 16:57

Re: Как программно эмулировать движения мышью

Сообщение Kroos » 18.02.2016 (Чт) 22:49

есть возможность дать мне логин-пароль чтоб я поюзал прогу под дебаггером? ну и как-то чтобы не спалиться при этом

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Как программно эмулировать движения мышью

Сообщение KPEATOP » 19.02.2016 (Пт) 9:15

Kroos писал(а):есть возможность дать мне логин-пароль чтоб я поюзал прогу под дебаггером? ну и как-то чтобы не спалиться при этом


Логин и пароль - это наверно только для нашего сервака действует (для нашей сети). А у вас этот логин и пароль не прокатит. Я так думаю
Вечность пахнет нефтью

Kroos
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 21.02.2012 (Вт) 16:57

Re: Как программно эмулировать движения мышью

Сообщение Kroos » 19.02.2016 (Пт) 9:49

а ну да, там же еще серверная часть, которая у вас вместе с бд... если только это точно, потому что под дебаггером он доходит до окна ввода логина-пароля и до этого прогу ничего не смущало.
ну придется вручную исходники смотреть, хз сколько времени может занять

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Как программно эмулировать движения мышью

Сообщение KPEATOP » 19.02.2016 (Пт) 10:52

Kroos писал(а):ну придется вручную исходники смотреть, хз сколько времени может занять


может удастся какой-нибудь код написать, чтоб как будто бы кто то работает за компом ? Может мышь, может клавиатура
Вечность пахнет нефтью

Kroos
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 21.02.2012 (Вт) 16:57

Re: Как программно эмулировать движения мышью

Сообщение Kroos » 19.02.2016 (Пт) 17:38

может и удастся, но ты сможешь это тестировать? ты должен будешь лезть в админку и смотреть в отчетах, работаешь ты или нет ) ну или как-то так

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Как программно эмулировать движения мышью

Сообщение KPEATOP » 20.02.2016 (Сб) 8:51

Kroos писал(а):может и удастся, но ты сможешь это тестировать? ты должен будешь лезть в админку и смотреть в отчетах, работаешь ты или нет ) ну или как-то так


Тестировать смогу, мы можем свои отчеты о работе просматривать
Вечность пахнет нефтью

Kroos
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 21.02.2012 (Вт) 16:57

Re: Как программно эмулировать движения мышью

Сообщение Kroos » 20.02.2016 (Сб) 20:41

крч пока вижу стоит системный хук на KEYDOWN, тебе клавиши нажимать надо а не мышкой шарить

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


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17

    TopList