Функция _WinAPI_Mouse_Event

 ↑  ←  Описание функции


_WinAPI_Mouse_Event

Эмулирует движения мыши и нажатия кнопки

#include <WinAPI.au3>
_WinAPI_Mouse_Event($iFlags [, $iX = 0 [, $iY = 0 [, $iData = 0 [, $iExtraInfo = 0]]]])

Параметры

$iFlags Набор битовых флагов, которые определяют различные аспекты движения мыши и нажатия кнопок. Биты в этом параметре могут быть любой разумной комбинацией следующих значений:
    $MOUSEEVENTF_ABSOLUTE - Указывает, что параметры $iX и $iY содержат абсолютные координаты. В противном случае эти параметры интерпретируются как относительные координаты и изменение позиции начинается от текущей позиции курсора мыши. Этот флаг может быть установлен или не установлен, независимо от того, какие мыши или устройства подобные мыши, если таковые имеются, подключены к системе.
    $MOUSEEVENTF_MOVE - Указывает на перемещение мыши
    $MOUSEEVENTF_LEFTDOWN - Указывает, что левая кнопка будет нажата вниз
    $MOUSEEVENTF_LEFTUP - Указывает, что левая кнопка будет отпущена вверх
    $MOUSEEVENTF_RIGHTDOWN - Указывает, что правая кнопка будет нажата вниз
    $MOUSEEVENTF_RIGHTUP - Указывает, что правая кнопка будет отпущена вверх
    $MOUSEEVENTF_MIDDLEDOWN - Указывает, что средняя кнопка будет нажата вниз
    $MOUSEEVENTF_MIDDLEUP - Указывает, что средняя кнопка будет отпущена вверх
    $MOUSEEVENTF_WHEEL - Указывает, что колёсико мыши будет перемещено, если мышь его имеет
    $MOUSEEVENTF_XDOWN - Указывает, что левая X-кнопка будет нажата
    $MOUSEEVENTF_XUP - Указывает, что левая X-кнопка будет отпущена
$iX [необязательный] Указывает либо абсолютное положение мыши вдоль оси X, либо величину перемещения начиная от текущего положения курсора мыши, в зависимости от установленного флага $MOUSEEVENTF_ABSOLUTE. Абсолютная координата приведена как фактическая X-координата курсора мыши, а относительная величина приведена как количество шажков мыши для перемещения.
$iY [необязательный] Указывает либо абсолютное положение мыши вдоль оси Y, либо величину перемещения начиная от текущего положения курсора мыши, в зависимости от установленного флага $MOUSEEVENTF_ABSOLUTE. Абсолютная координата приведена как фактическая Y-координата курсора мыши, а относительная величина приведена как количество шажков мыши для перемещения.
$iData [необязательный] Если $iFlags равен $MOUSEEVENTF_WHEEL, то этот параметр определяет величину перемещения колёсика мыши. Положительное значение указывает, что колёсико мыши поворачивается вперед от пользователя. Отрицательное значение указывает, что колёсико мыши поворачивается назад к пользователю. Один шаг колёсика мыши определяется как $WHEEL_DELTA, который равен 120. Если $iFlags не $MOUSEEVENTF_WHEEL, то $iData должен быть равен нулю.
$iExtraInfo [необязательный] Определяет 32-битное значение ассоциированное с событием мыши

Примечания

Для выше указанных констант необходим Constants.au3

См. также

Искать mouse_event в библиотеке MSDN

Пример

#include <Constants.au3>
#include <WinAPI.au3>

_MouseClick(11, 22)
; _MouseMove(11, 22)

Func _MouseClick($x, $y)
    $x = $x * 65535 / @DesktopWidth
    $y = $y * 65535 / @DesktopHeight
    _WinAPI_Mouse_Event(BitOR($MOUSEEVENTF_ABSOLUTE, $MOUSEEVENTF_MOVE), $x, $y) ; Перемещает мышь
    _WinAPI_Mouse_Event(BitOR($MOUSEEVENTF_ABSOLUTE, $MOUSEEVENTF_LEFTDOWN), $x, $y) ; Нажимает левую кнопку мыши
    _WinAPI_Mouse_Event(BitOR($MOUSEEVENTF_ABSOLUTE, $MOUSEEVENTF_LEFTUP), $x, $y) ; Отпускает левую кнопку мыши
EndFunc   ;==>_MouseClick

Func _MouseMove($x, $y)
    $x = $x * 65535 / @DesktopWidth
    $y = $y * 65535 / @DesktopHeight
    _WinAPI_Mouse_Event(BitOR($MOUSEEVENTF_ABSOLUTE, $MOUSEEVENTF_MOVE), $x, $y)
EndFunc   ;==>_MouseMove