Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Содержит сведения о имитированном событии мыши.
Синтаксис
typedef struct tagMOUSEINPUT {
LONG dx;
LONG dy;
DWORD mouseData;
DWORD dwFlags;
DWORD time;
ULONG_PTR dwExtraInfo;
} MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;
Members
dx
Тип: LONG
Абсолютная позиция мыши или количество движения с момента создания последнего события мыши в зависимости от значения элемента dwFlags . Абсолютные данные указываются как координата x мыши; относительные данные указываются как количество перемещаемых пикселей.
dy
Тип: LONG
Абсолютная позиция мыши или количество движения с момента создания последнего события мыши в зависимости от значения элемента dwFlags . Абсолютные данные указываются как координата y мыши; относительные данные указываются как количество перемещаемых пикселей.
mouseData
Тип: DWORD
Если dwFlags содержит MOUSEEVENTF_WHEEL, то mouseData указывает объем перемещения колесика. Положительное значение указывает, что колесо было повернуто вперед, в сторону от пользователя; Отрицательное значение указывает, что колесо было повернуто назад к пользователю. Один щелчок колесика определяется как WHEEL_DELTA, что составляет 120.
Windows Vista: если dwFlags содержит MOUSEEVENTF_HWHEEL, dwData указывает объем перемещения колесика. Положительное значение указывает, что колесо было повернуто справа; отрицательное значение указывает, что колесо было повернуто влево. Один щелчок колесика определяется как WHEEL_DELTA, что составляет 120.
Если dwFlags не содержит MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN или MOUSEEVENTF_XUP, то mouseData должно быть равно нулю.
Если dwFlags содержит MOUSEEVENTF_XDOWN или MOUSEEVENTF_XUP, то mouseData указывает, какие кнопки X были нажаты или освобождены. Это значение может быть любым сочетанием следующих флагов.
| Ценность | Meaning |
|---|---|
|
XBUTTON1 0x0001 |
Задайте, если первая кнопка X нажимается или освобождается. |
|
XBUTTON2 0x0002 |
Установите, если нажата или выпущена вторая кнопка X. |
dwFlags
Тип: DWORD
Набор битовых флагов, указывающих различные аспекты движения мыши и нажатия кнопки. Биты этого элемента могут быть любым разумным сочетанием следующих значений.
Битовые флаги, указывающие состояние кнопки мыши, задаются для указания изменений состояния, а не текущих условий. Например, если левая кнопка мыши нажимается и удерживается вниз, MOUSEEVENTF_LEFTDOWN устанавливается при первом нажатии левой кнопки, но не для последующих движений. Аналогичным образом MOUSEEVENTF_LEFTUP устанавливается только при первом выпуске кнопки.
Нельзя указать флаг MOUSEEVENTF_WHEEL и флаг MOUSEEVENTF_XDOWN или MOUSEEVENTF_XUP одновременно в параметре dwFlags , так как они оба требуют использования поля mouseData .
| Ценность | Meaning |
|---|---|
|
MOUSEEVENTF_MOVE 0x0001 |
Произошло движение. |
|
MOUSEEVENTF_LEFTDOWN 0x0002 |
Нажата левая кнопка. |
|
MOUSEEVENTF_LEFTUP 0x0004 |
Выпущена левая кнопка. |
|
MOUSEEVENTF_RIGHTDOWN 0x0008 |
Нажата правая кнопка. |
|
MOUSEEVENTF_RIGHTUP 0x0010 |
Выпущена правая кнопка. |
|
MOUSEEVENTF_MIDDLEDOWN 0x0020 |
Нажата средняя кнопка. |
|
MOUSEEVENTF_MIDDLEUP 0x0040 |
Была выпущена средняя кнопка. |
|
MOUSEEVENTF_XDOWN 0x0080 |
Нажата кнопка X. |
|
MOUSEEVENTF_XUP 0x0100 |
Выпущена кнопка X. |
|
MOUSEEVENTF_WHEEL 0x0800 |
Колесо было перемещено, если мышь имеет колесо. Объем перемещения указывается в mouseData. |
|
MOUSEEVENTF_HWHEEL 0x1000 |
Колесо было перемещено по горизонтали, если мышь имеет колесо. Объем перемещения указывается в mouseData. Windows XP/2000: это значение не поддерживается. |
|
MOUSEEVENTF_MOVE_NOCOALESCE 0x2000 |
Сообщения WM_MOUSEMOVE не будут объединяться. Поведение по умолчанию — объединение WM_MOUSEMOVE сообщений. Windows XP/2000: это значение не поддерживается. |
|
MOUSEEVENTF_VIRTUALDESK 0x4000 |
Сопоставляет координаты всего рабочего стола. Необходимо использовать MOUSEEVENTF_ABSOLUTE. |
|
MOUSEEVENTF_ABSOLUTE 0x8000 |
Элементы dx и dy содержат нормализованные абсолютные координаты. Если флаг не задан, dx и dy содержат относительные данные (изменение позиции с момента последнего сообщаемого положения). Этот флаг можно задать или не задать, независимо от типа мыши или другого указывающего устройства, если таковые есть, подключены к системе. Дополнительные сведения о относительном движении мыши см. в следующем разделе "Примечания". |
time
Тип: DWORD
Метка времени для события в миллисекундах. Если этот параметр равен 0, система будет предоставлять собственную метку времени.
dwExtraInfo
Тип: ULONG_PTR
Дополнительное значение, связанное с событием мыши. Приложение вызывает GetMessageExtraInfo , чтобы получить эту дополнительную информацию.
Замечания
Если мышь перемещена, указанная MOUSEEVENTF_MOVE, dx и dy , укажите сведения об этом движении. Сведения указываются как абсолютные или относительные целые значения.
Если задано значение MOUSEEVENTF_ABSOLUTE , dx и dy содержат нормализованные абсолютные координаты от 0 до 65 535. Процедура события сопоставляет эти координаты с поверхностью отображения. Координата (0,0) сопоставляется с левым верхним углом поверхности отображения; координата (65535 65535) сопоставляется с правым нижним углом. В многомониторной системе координаты сопоставляют с основным монитором.
Если указан MOUSEEVENTF_VIRTUALDESK , координаты сопоставляют весь виртуальный рабочий стол.
Если значение MOUSEEVENTF_ABSOLUTE не указано, dx и dy указывают перемещение относительно предыдущего события мыши (последнее указанное положение). Положительные значения означают, что мышь перемещается вправо (или вниз); отрицательные значения означают, что мышь перемещается влево (или вверх).
Относительное движение мыши зависит от эффекта скорости мыши и значений порогового значения двух мыши. Пользователь задает эти три значения с ползунком указателя скорости листа свойств мыши панели управления. Эти значения можно получить и задать с помощью функции SystemParametersInfo .
Система применяет два теста к указанному относительному перемещению мыши. Если указанное расстояние вдоль оси x или y больше, чем первое пороговое значение мыши, а скорость мыши не равна нулю, система удвоит расстояние. Если указанное расстояние вдоль оси x или y больше второго порогового значения мыши, а скорость мыши равна двум, система удвоит расстояние, которое привело к применению первого порогового теста. Таким образом, система умножает указанное относительное перемещение мыши вдоль оси x или y до четырех раз.
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows 2000 Профессиональный [только классические приложения] |
| минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
| Header | winuser.h (включая Windows.h) |
См. также
Концептуальный
Справочные материалы