Функция mouse_event синтезирует движение мыши и щелчки кнопки.
Windows NT/2000/XP: Эта функция была заменена. Вместо нее используйте функцию SendInput.
Синтаксис
VOID mouse_event( DWORD dwFlags, DWORD dx, DWORD dy, DWORD dwData, ULONG_PTR dwExtraInfo ); |
Параметры
dwFlags
[in] Устанавливает различные аспекты движения мыши и щелчков кнопки. Этот параметр может быть некоторой комбинацией нижеследующих значений.Значения, которые определяют состояние кнопки мыши, устанавливаются, чтобы указать изменения в статусе, но не для непрерывных состояний. Например, если левая кнопка мыши нажимается и удерживается нажатой, устанавливается MOUSEEVENTF_LEFTDOWN, в первый момент когда левая кнопка нажата, но не для последующих действий. Точно так же MOUSEEVENTF_LEFTUP устанавливается только в начале, когда кнопка отпущена.
Вы не можете в параметре dwFlags одновременно установить и MOUSEEVENTF_WHEEL и, или MOUSEEVENTF_XDOWN, или MOUSEEVENTF_XUP, потому что они оба требуют использования поля dwData.
Значение | Предназначение |
MOUSEEVENTF_ABSOLUTE | Устанавливает, что параметры dx и dy содержат нормализованные абсолютные координаты. Если флажок не установлен, то эти параметры содержит относительные данные: изменение в позиции начиная от последнего переданного местоположения. Этот флажок может устанавливаться, или не устанавливаться, независимо от того, какая мышь или мышеподобное устройство, если таковое вообще имеется, соединено с системой. За более поздней информацией об относительном движении мыши, см. ниже в разделе Замечаний. |
MOUSEEVENTF_MOVE | Устанавливает, что произошло перемещение. |
MOUSEEVENTF_LEFTDOWN | Устанавливает, что нажата левая кнопка. |
MOUSEEVENTF_LEFTUP | Устанавливает, что отпущена левая кнопка. |
MOUSEEVENTF_RIGHTDOWN | Устанавливает, что нажата правая кнопка. |
MOUSEEVENTF_RIGHTUP | Устанавливает, что отпущена правая кнопка. |
MOUSEEVENTF_MIDDLEDOWN | Устанавливает, что нажата средняя кнопка. |
MOUSEEVENTF_MIDDLEUP | Устанавливает, что отпущена средняя кнопка. |
MOUSEEVENTF_WHEEL | Windows NT/2000/XP: Устанавливает, что переместилось колесико, если мышь имеет колесико. Величина перемещения определяется в параметре dwData. |
MOUSEEVENTF_XDOWN | Windows 2000/XP: Устанавливает, что была нажата X-кнопка. |
MOUSEEVENTF_XUP | Windows 2000/XP: Устанавливает, что была отпущена X-кнопка. |
dx
[in] Устанавливает абсолютную позицию мыши по оси X или по ее величине продвижения, с тех пор, как было произведено последнее событие мыши, которая зависит от установки флажка MOUSEEVENTF_ABSOLUTE. Абсолютные данные определяются как фактическая x-координата мыши; относительные данные определяются как перемещение на определенное число мики. Мики (mickey) - это величина, на которую должна продвинуться мышь, чтобы она сообщила, что состоялось перемещение.dy
[in] Устанавливает абсолютную позицию мыши по оси Y или по ее величине продвижения, с тех пор, как было произведено последнее событие мыши, которая зависит от установки флажка MOUSEEVENTF_ABSOLUTE. Абсолютные данные определяются как фактическая y-координата мыши; относительные данные определяются как перемещение на определенное число мики.dwData
[in] Если dwFlags содержит MOUSEEVENTF_WHEEL, то параметр dwData устанавливает величину перемещения колесика. Положительное значение указывает на то, что колесико вращалось вперед, в сторону от пользователя; отрицательное значение указывает, что колесико вращалось назад, к пользователю. Один щелчок (прим. перевод. храповика) колесика определяется как WHEEL_DELTA, число которых - 120.Windows 2000/XP: Если параметр dwFlags содержит MOUSEEVENTF_XDOWN или MOUSEEVENTF_XUP, то dwData определяет, какие X-кнопки нажимались или отпускались. Это значение может быть любой комбинацией ниже перечисленных флажков.
Если параметр dwFlags - не MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN, или MOUSEEVENTF_XUP, то dwData должен равняться нулю.
Значение | Предназначение |
XBUTTON1 | Устанавливается, если была нажата или отпущена первая Х-кнопка. |
XBUTTON2 | Устанавливается, если была нажата или отпущена вторая Х-кнопка. |
dwExtraInfo
[in] Устанавливает дополнительное значение, связанное с событием мыши. Приложение вызывает функцию GetMessageExtraInfo, чтобы получить эту дополнительную информацию.Возвращаемое значение
У этой функции нет возвращаемого значения.
Замечания
Если мышь двигалась, то установка флажка MOUSEEVENTF_MOVE указывает, что параметры dx и dy содержат информацию об этом движении. Информация определяется как абсолютные или относительные целочисленное значения.
Если устанавливается значение MOUSEEVENTF_ABSOLUTE, dx и dy содержат нормализованные абсолютные координаты между 0 и 65 535. Процедура события преобразует эти координаты для поверхности экрана. Координата (0,0) проецируется на левый верхний угол поверхности экрана, (65535,65535) проецируется на правый нижний угол.
Если значение MOUSEEVENTF_ABSOLUTE не установлено, dx и dy определяют относительные перемещения от того, когда было произведено последнее событие мыши (последняя сообщенная позиция). Положительные значения подразумевают, что мышь перемещалась вправо (или вниз); отрицательные значения подразумевают, что мышь двигалась влево (или вверх).
Относительное движение мыши подчинено настройкам скорости мыши и уровня ускорения. Конечный пользователь устанавливает эти величины, используя программу Mouse (Мышь) в Панели управления (Control Panel). Приложение получает и устанавливает эти значения при помощи функции SystemParametersInfo.
Система применяет два теста к заданному относительному движению мыши при применении ускорения. Если указанное расстояние, или по оси x, или по оси y больше, чем первая пороговая величина мыши, и уровень ускорения мыши не является нулевым, операционная система удваивает это расстояние. Если указанное расстояние или по оси x- или по оси y- больше, чем вторая пороговая величина мыши, и уровень ускорения мыши равен двум, операционная система удваивает интервал, который получился в результате применения первого порогового теста. В соответствии с этим, для операционной системы допустимо умножать определенное как относительное движение мыши по оси x- или по оси y- до четырех раз.
Как только было применено ускорение, система масштабирует получающуюся в результате величину требуемой скорости мыши. Скорость мыши может быть в диапазоне от 1 (самая медленная) до 20 (самая быстрая) и представляет величину, на котроую переместился указатель, базируясь на расстоянии, на которое перемещается мышь. Заданное по умолчанию значение равно 10, которое не приводит к дополнительной модификации движения мыши.
Функция mouse_event используется, чтобы синтезировать события мыши прикладными программами, которым необходимо так делать. Она также используется и прикладными программами, которые должны получать больше информации от мыши, а не только о ее позиции и состоянии кнопки. Например, если изготовитель планшета хочет передавать информацию, основанную на перьевом вводе данных, своим собственным программам, он может написать динамически подключаемую библиотеку (DLL), которая связывается непосредственно с аппаратными средствам планшета, получает дополнительную информацию и сохраняет ее в очереди. DLL затем вызывает функцию mouse_event при помощи стандартной кнопки и x/y данными местоположения, наряду с параметром dwExtraInfo с каким-то указателем или индексом поставленной в очередь дополнительной информации. Когда прикладная программа нуждается в дополнительной информации, она вызывает DLL с указателем или индексом, сохраненным в dwExtraInfo, и динамически подключаемая библиотека (DLL) возвращает дополнительную информацию.
Смотри также
Обзор Ввод данных от мыши, Функции, используемые мышью, GetMessageExtraInfo, SystemParametersInfo
Размещение и совместимость mouse_event |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |