Что нового

[Мышь, клавиатура] Движение мыши в зависимости от положения элемента.

Waik

Знающий
Сообщения
60
Репутация
16
Здравствуйте.Пытаюсь написать "бота" для приложения Вк.С API знаком плохо и пытаюсь написать без его использования.Вот приложение к которому я пытаюсь написать "бота",задачу бота поймете сразу. ( /app19749_1039055 ) .Искал в хелпе функции но видимо так искал что нечего нужного не нашел.Вот мои кривые попытки.Скрипт находит красный квадрат,жмет на него и удерживает кнопку мыши.

Код:
WinActivate ("В Контакте | Pilotter - Mozilla Firefox")

HotKeySet("{end}","_exit")
Func _exit()
	Exit
EndFunc

While 1
		$var = PixelSearch(602,548,648,591,0xff0000)
		MouseClick( "left",$var[0],$var[1],1,1)
		MouseDown ("left")
        $var1 = PixelSearch(533,462,697,632,0xf7f7f7)
		MouseMove($var1[0],$var[1],15)
WEnd

Подскажите что нибудь по этому вопросу ,и как заставить мышь уходить от объектов ??
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Тему перенес в связи с близость темы данному разделу
 
Автор
W

Waik

Знающий
Сообщения
60
Репутация
16
Есть функции :
PixelSearch
MouseClick

Но как осуществить нажатие клавиши мыши по определённым координатам через API .Искал в справочнике по API AutoIt но не нашел.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Плохо искал. Копипаст из хелпа
55.gif



_WinAPI_Mouse_Event

Synthesizes mouse motion and button clicks


Код:
#Include <WinAPI.au3>
_WinAPI_Mouse_Event($iFlags[, $iX = 0[, $iY = 0[, $iData = 0[, $iExtraInfo = 0]]]])





[box title=Parameters]

$iFlags
A set of flag bits that specify various aspects of mouse motion and button clicking. The bits
in this parameter can be any reasonable combination of the following values:
$MOUSEEVENTF_ABSOLUTE - Specifies that the $iX and $iY parameters contain normal absolute coordinates. If
not set, those parameters contain relative data. The change in position since the last reported position.
This flag can be set, or not set, regardless of what kind of mouse or mouse-like device, if any, is connected
to the system.
$MOUSEEVENTF_ABSOLUTE - Specifies that the dx and dy parameters contain normalized absolute coordinates.
If not set, those parameters contain relative data: the change in position since the last reported position.
This flag can be set, or not set, regardless of what kind of mouse or mouse-like device, if any, is connected to the system.
$MOUSEEVENTF_MOVE - Specifies that movement occurred
$MOUSEEVENTF_LEFTDOWN - Specifies that the left button changed to down
$MOUSEEVENTF_LEFTUP - Specifies that the left button changed to up
$MOUSEEVENTF_RIGHTDOWN - Specifies that the right button changed to down
$MOUSEEVENTF_RIGHTUP - Specifies that the right button changed to up
$MOUSEEVENTF_MIDDLEDOWN - Specifies that the middle button changed to down
$MOUSEEVENTF_MIDDLEUP - Specifies that the middle button changed to up
$MOUSEEVENTF_WHEEL - Specifies that the wheel has been moved, if the mouse has a wheel
$MOUSEEVENTF_:rofl:OWN - Specifies that an X button was pressed
$MOUSEEVENTF_XUP - Specifies that an X button was released

$iX
Specifies the mouse's absolute position along the X axis or its amount of motion since the
last mouse event was generated depending on the setting of $MOUSEEVENTF_ABSOLUTE. Absolute data is given as
the mouse's actual X coordinate relative data is given as the number of mickeys moved.

$iY
Specifies the mouse's absolute position along the Y axis or its amount of motion since the
last mouse event was generated depending on the setting of $MOUSEEVENTF_ABSOLUTE. Absolute data is given as
the mouse's actual Y coordinate relative data is given as the number of mickeys moved.

$iData
If iFlags is $MOUSEEVENTF_WHEEL, then iData specifies the amount of wheel movement. A positive
value indicates that the wheel was rotated forward away from the user. A negative value indicates that the
wheel was rotated backward, toward the user. One wheel click is defined as $WHEEL_DELTA, which is 120. If
iFlags is not $MOUSEEVENTF_WHEEL, then $iData should be zero.

$iExtraInfo
Specifies a 32 bit value associated with the mouse event [/box]
[box title=Return Value]
None.[/box]
[box title=Remarks]
Needs Constants.au3 for pre-defined constants[/box]
 
Автор
W

Waik

Знающий
Сообщения
60
Репутация
16
поясните пожалуйста параметры этой функции,а то из меня англичанин не очень.Смотрел примера на офф.форуме но тоже не сильно разобрался.А переводчик . . .
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Ну... Для начала за полезные сообщения принято ставить плюсы. Мне тоже нет резона сидеть тут и всем кому только можно как в тех поддержке отвечать на все вопросы даже я знаю ответы.
12.gif
 
Автор
W

Waik

Знающий
Сообщения
60
Репутация
16
Плюсы просить нельзя.
ps/плюс ткнул
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Ну, дла начала вопрос, зачем изобретать велосипед, чем тебя не устроили MoiseClick и тд?
А так, хоть я апи мышью и не кликал в автотите но оно должно означать:

$MOUSEEVENTF_ABSOLUTE - если параметр не указан то мышь будет двигаться относительно своего прошлого положения
$MOUSEEVENTF_MOVE - передвинуть мышь
$MOUSEEVENTF_LEFTDOWN - лкм нажать
$MOUSEEVENTF_LEFTUP - лкм отжать
$MOUSEEVENTF_RIGHTDOWN - пкм нажать
$MOUSEEVENTF_RIGHTUP - пкм отжать
$MOUSEEVENTF_MIDDLEDOWN - скм нажать
$MOUSEEVENTF_MIDDLEUP - скм отжать
$MOUSEEVENTF_WHEEL - двинуть колесо
$MOUSEEVENTF_:rofl:OWN - нажать некую X кнопку
$MOUSEEVENTF_XUP - отжать некую Х кнопку

$iX
Задать абсолютную или относительную координату по оси Х где должен произойти авент

$iY
Задать абсолютную или относительную координату по оси Y где должен произойти авент

$iData
Если iFlag это $MOUSEEVENTF_WHEEL, тогда iData задает количество оборотов колеса мыши. положительное от себя отрицательное на себя. мышежим определяется как $WHEEL_DELTA, который равен 120. Если
iFlags не равен $MOUSEEVENTF_WHEEL, тогда $iData нужно оставить нулем.

$iExtraInfo
указать 32х битное число ассоциируемое с мауз авентом.

p.s. плюс я не просил, я просто деликатно намекнул что если не жадничать на плюсы ты быстрее добьешься желаемого результата
26.gif
, а аватар я себе и сам какой угодно могу нарисовать :smile:
 
Верх