Что нового

[Мышь, клавиатура] Эмуляция движений мышью в неактивном окне EveOnline

bugaj

Знающий
Сообщения
140
Репутация
11
Пытался я заставить работать мышь в неактивном окне, и к своему несчастью для экспериментов выбрал окно EVE Online.

Собственно код которым я пытался это делать:

Клик мышью.
Код:
SendMessage(fHandle, WM_LBUTTONDOWN, MK_LBUTTON, y * 65536 + x);
Sleep(random(100));
SendMessage(fHandle, WM_LBUTTONUP, MK_LBUTTON, y * 65536 + x);

Движенье мышью:
Код:
SendMessage(fHandle, wm_MouseMove, MK_LBUTTON, MakeLParam(X, Y));

x,y - координаты куда нужно придвинуть мышь или кликнуть(фактически при клике координаты в еве ни на что не влияют) от координаты 0,0 клиентской области окна евы.

Это WinAPI функции. В конце концов, я оттестировал эти функции на другом окне. Но в еве они так и не заработали. Клик кликает в том месте где в данный момент находится курсор, если его руками навести на что нибудь, он туда кликнет.

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

bugaj

Знающий
Сообщения
140
Репутация
11
так тоже работает, но не в EVE

жесть, я на форум не могу скопипастить ничего ( поэтому пишу словами:

В общем вставил я этот WM_SETCURSOR перед вызовом API функции эмуляции движения мыши, и теперь, если курсор перед выполнением команды находится над окном евы (даже если оно не активно, но курсор должен находится именно над открытым участком окна евы), то клик выполняется там где нужно, даже если над там где нужно повесить другое окно, клик все равно будет! А если курсор в это время за пределами окна Евы, то курсор прилетает в координаты 0.0 клиенской части окна евы и клика нет...

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