Не работает эмуляция мыши

  • Автор темы Автор темы Aleksandr
  • Дата начала Дата начала

Aleksandr

Client
Регистрация
04.01.2014
Сообщения
206
Реакции
113
Баллы
43
Всем, Привет.

Не работает эмуляци мыши... не знаю может и не правильно делаю...
Мои действия:
приложил скрин эмуляция мыши.PNG
эмуляция мыши - должна курсор мыши передвинуть по заданным координатом, после чего сделать клик левой кнопкой мыши по ссылке.
Конечные координаты курсора - это расположение ссылки.
 
Этот экшен не для движения мыши. Вы просто задаете облать, в которую производится клик.
 
  • Оценить
Реакции: Aleksandr
Спасибо, хорошо.
Есть у кого нибудь пример использования Emulator.MouseMove(instance.ActiveTab.Handle, x--, y++) и MouseMove(Int32,Int32,Int32,Int32,Boolean) или MouseMove(Int32,Int32,Boolean)
Просто вообще не пойму, куда их нужно помещать...?
 
А на аватарку котика поставите?)))))

Вот так выглядят клики через CodeCreator
Раз Emulator.MouseClick(instance.ActiveTab.Handle,ZennoLab.Emulation.MouseButton.Left,ZennoLab.Emulation.MouseButtonEvent.Click,20,80);
Два instance.Click(50,50,245,245,"Left","Normal");

Вот так выглядит перемещение мышки в заданные координаты
Emulator.MouseMove(instance.ActiveTab.Handle,80,245);
Вот так по топорному выглядит перемещение мышки из точки А в точку Б
int x = 10;
int y = 10;
Emulator.MouseMove(instance.ActiveTab.Handle,x,y);
for(int i =0;i<100;i++)
{
x++;
y++;
Emulator.MouseMove(instance.ActiveTab.Handle,x,y);
}
 
  • Оценить
Реакции: Aleksandr
А на аватарку котика поставите?)))))
А что это будет значить? )))


Раз Emulator.MouseClick(instance.ActiveTab.Handle,Zenn oLab.Emulation.MouseButton.Left,ZennoLab.Emulation .MouseButtonEvent.Click,20,80);
Два instance.Click(50,50,245,245,"Left","Normal");

Вот так выглядит перемещение мышки в заданные координаты
Emulator.MouseMove(instance.ActiveTab.Handle,80,24 5);
Вот так по топорному выглядит перемещение мышки из точки А в точку Б
int x = 10;
int y = 10;
Emulator.MouseMove(instance.ActiveTab.Handle,x,y);
for(int i =0;i<100;i++)
{
x++;
y++;
Emulator.MouseMove(instance.ActiveTab.Handle,x,y);
}
Из выше описанного вами и то что нашел на форуме понял, что реализация движение курсора по сайту относительно много ) а вот куда помещать ваши примеры и другие примеры найденные на форуме не понятно...
Вот например делаю проект в проджект мейкер перед событием "эмуляция мыши - т.е клик по определенной облости" нужно что бы курсор мыши появился из края области браузера и двигался по направлению к области клика "эмуляции мыши" если вдруг будете скачивать проект, то если говорить пряма - к области клика, кнопка **НОВОСТИ*** в меню.
-вот скрин эмульция курсо&#10.PNG
-вот сам проект Посмотреть вложение Второй пробный &#.xmlz
 
Да я тут подумал) раз кроме глубокого морального удовлетворения от ответов на вопросы больше ничего не достается, то почему бы добровольно принудительно активно вопрошающих не пересадить на аватарки с котиками))))) Приходишь на форум а тут котики кругом))) разве не замечательно))))
щас поковыряю проект
 
Да я тут подумал) раз кроме глубокого морального удовлетворения от ответов на вопросы больше ничего не достается, то почему бы добровольно принудительно активно вопрошающих не пересадить на аватарки с котиками))))) Приходишь на форум а тут котики кругом))) разве не замечательно))))
щас поковыряю проект

))) Предлагаю вам тоже поставить на аватарку котика, ну что бы не выделяться из толпы )))
 
ребята! я с вами! :)
(третьим буду) :beer:
 
И правда)) что это я)))
Проект в приложении Посмотреть вложение Аватарку котик&#1.xmlz
А теперь о грустном
Это все конечно замечательно, но надурить метрику или еще кого так просто не удастся по следующим причинам:
- так четко по прямой ни один живой человек не проведет, человекам ближе параболы
- наш человек - редкостный тормоз! ибо живая мышка при движении учтывает ускорение и часть пикселей просто проскакивает отрисовываясь, скажем в каждом 40) - а у нас же быстро! но по каждому пикселю) можно конечно ускорить вдвое без особого геммороя, но все равно будет механистично слишком. нет ни ускорения ни торможения
- В нашем случае - отправная точка всегда одна до пикселя! сотни людей начинают работы с браузером с одного и того же места))) этот параметр конечно проще всего рандомизировать... но этого при прочем будет все равно недостаточно
- живой хомячок... человек то есть в процессе работы совершает конвульсивные движения мышкой туда-сюда, и они должны быть разные)))
В общем... сделать то сделали, но практические выгоды сомнительны.

Для того чтобы построить эмулятор более качественно нужно
1 - знать на сколько пикселей при какой скорости перескакивает мышка у у живого человека
2 - собрать маленькую коллекцию ускорений/торможений
3- каким то макаром в проекте вести конечные координаты мышки
4- регулярно эмулировать конвульсии и трепыхания
5- сделать класс перемещения мыши к цели с учетом параболы и её кривизны

Может проще на wmmail или юзераторе школоту набрать?)))
 
И правда)) что это я)))
Проект в приложении Посмотреть вложение 5071
А теперь о грустном
Это все конечно замечательно, но надурить метрику или еще кого так просто не удастся по следующим причинам:
- так четко по прямой ни один живой человек не проведет, человекам ближе параболы
- наш человек - редкостный тормоз! ибо живая мышка при движении учтывает ускорение и часть пикселей просто проскакивает отрисовываясь, скажем в каждом 40) - а у нас же быстро! но по каждому пикселю) можно конечно ускорить вдвое без особого геммороя, но все равно будет механистично слишком. нет ни ускорения ни торможения
- В нашем случае - отправная точка всегда одна до пикселя! сотни людей начинают работы с браузером с одного и того же места))) этот параметр конечно проще всего рандомизировать... но этого при прочем будет все равно недостаточно
- живой хомячок... человек то есть в процессе работы совершает конвульсивные движения мышкой туда-сюда, и они должны быть разные)))
В общем... сделать то сделали, но практические выгоды сомнительны.

Для того чтобы построить эмулятор более качественно нужно
1 - знать на сколько пикселей при какой скорости перескакивает мышка у у живого человека
2 - собрать маленькую коллекцию ускорений/торможений
3- каким то макаром в проекте вести конечные координаты мышки
4- регулярно эмулировать конвульсии и трепыхания
5- сделать класс перемещения мыши к цели с учетом параболы и её кривизны

Может проще на wmmail или юзераторе школоту набрать?)))

Согласен, выгоды может и не быть... был маленький опыт с метрикой и лайвинтернет, даже не опыт микроопыт - не важно... что хочу сказать - лайвинтернет не считал пользователей с нескрытами проксями после примерно 20 хоста, почти подряд, т.е все последующие хосты лайвинтернет игнарировал в течение двух дней, небольшая передышка дня 3-4 снова считает.

Метрика все хавало. Насколько я знаю просто банит сайт за накрутку ну или санкции... Конечно бы если бы продолжил, настигло точно ...

У меня не первоначальная :) цель попасть в партнеры яши как рекламная площадка. Есть и другие сайты с помощью которых можно чуть-чуть заработать, при этом хостов в день будет достаточно около 50 потом, накрутка уже не нужна будет...
Может проще на wmmail или юзераторе школоту набрать?)))
Не знаю... не пробовал. Но видел на форуме где-то что подобное. Интересно какую прибыль в месяц будет приносить не имею рефералов? Если есть инфа можно ЛС, пожалуйста.

В данном решение есть маленькая неприятность, при выполнение проекта курсор один на двоих, на меня и проект - мешает работать мне и проекту...
float top = float.Parse(project.Variables["topinb"].Value);
float left = float.Parse(project.Variables["leftinb"].Value);
top+=15;
left+=15;
float startx=0;
float starty=0;
float tg = top/left;
for(int i =0;i<left;i++)

{
Emulator.MouseMove(instance.ActiveTab.Handle, Convert.ToInt32(startx), Convert.ToInt32(starty));
startx++;
starty = tg*startx;
}

return 0;

Покопался на форуме еще не нашел решение, тогда начал тыкать в тестере макросов, но увы решение так и не нашел... понял только, что оно есть "вроде"
string Emulator.MouseMove(string windowName, int x,int y, bool topMost)
Но опять же... как его применять, в итоге на тыкал вот что
Emulator.MouseMove(string.windowProba, Convert.ToInt32(startx), Convert.ToInt32(starty), bool topMost);
Ошибки - "'string' не содержит определение для 'windowProba и "'bool' не содержит определение для 'topMost'"

Но не думаю что решение этих ошибок ключ к решению. Но все же думаю подскажет кто, в какаю сторону дальше рыть.
 
Ошибки - "'string' не содержит определение для 'windowProba и "'bool' не содержит определение для 'topMost'"

Но не думаю что решение этих ошибок ключ к решению. Но все же думаю подскажет кто, в какаю сторону дальше рыть.

1) Попробуйте цикл упаковать в локер
lock (SyncObjects.InputSyncer)
{
for....
}

2) Гм... должно быть примерно так - последний параметр просто указывает будет ли это окно поверх всех окон или нет, по умолчанию стоит false.
Но если честно сомневаюсь насчет 1 переменной... какой то Header of the window.... я хз что подразумевалось тут ввиду)))
В библиотеке тоже загадочное "window"... я попробовал - у меня что то мышка не ожила...
Emulator.MouseMove("page", Convert.ToInt32(startx), Convert.ToInt32(starty), true);

Как то так....

ЧТо юзератор что wmmail - довольно все просто - регистрируетесь - добавляете задание в свободной форме - зайти на сайт такой то оттуда то, сделать то то - в качестве подтверждения предоставить то то.

ЧТо касается подтверждений - это больше для школоты, когда она понимает что угадать не получится, и вроде бы есть контроль - она не халявит))) конечно просмотреть результаты все равно не помешает)
 
  • Оценить
Реакции: Aleksandr
Сразу скажу, что кота не поставлю) Но он у меня был недавно.
Задался так же вопросом эмуляции, т.к. попросили реализовать. К сожалению такой функции в зенке нет, а странно. Мне думается, что разрабы спецом не включают пока)
Так вот эмуляцию сделать можно, т.к. имеется же любопытная программка
То есть главный принцип - записать движения, теже конвульсивные, а потом умело рандомизировать порядок.
 
посмотрел более детально прогу, ну да всё таже запись координат, но что еще нужно)
Пока думается инструмент в самом постере, который бы делал тоже самое.
Конечно, как решить проблему отдельной мыши для каждого потока не понятно, зато вырисовывается решение как сделать норм. эмуляцию движений.
 
А можно ссыль на софтинку?
я, признаться, думал на эту тему, и надо было нашаманить такую же софтинку, а мне было лениво))). В идеале я бы хотел собрать большой лог поведения мышей и собрать коллекцию трасс подходящей длинны, а потом на них накладывать искажения и смещения по паре десятков функций - яша запарится вычислять.
 
  • Оценить
Реакции: Mandyson
float top = float.Parse(project.Variables["topinb"].Value);
float left = float.Parse(project.Variables["leftinb"].Value);
top+=15;
left+=15;
float startx=0;
float starty=0;
float tg = top/left;
for(int i =0;i<left;i++)

{
Emulator.MouseMove(instance.ActiveTab.Handle, Convert.ToInt32(startx), Convert.ToInt32(starty));
startx++;
starty = tg*startx;
}

return 0;

-- --

Какой должен быть код если ?
X: 100 Y: 150
X: 200 Y: 250
X: 300 Y: 350
 
Этот код instance.ActiveTab.MouseMove(500, 250, 500, 125, false);
будет работать в многопоточном режиме без проблем?
 
Нужно поставить 1 инстанс на процесс в настройках ZennoPoster.
 
Как можно задать задержку каждому перемещению? Что если импортировать записанные из этой проги в зенно?
2014043030_7796631_11908291.jpg
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)