Структура ввода используется SendInput синтезировать нажатия клавиш, движения мыши, и нажимает кнопку.
typedef struct tagINPUT {}
Тип DWORD;
союз
{
MOUSEINPUT ми;
KEYBDINPUT ки;
HARDWAREINPUT Привет;
};
} ВХОД, * PINPUT, ДАЛЕКО * LPINPUT
| Значение | Значение |
|---|---|
| INPUT_MOUSE | Это мероприятие является событие мыши. Использовать структуру ми союза. |
| INPUT_KEYBOARD | Событие — это событие клавиатуры. Использовать ki структуру союза. |
| INPUT_HARDWARE | Windows 95: Это событие является от ввода оборудования за исключением клавиатуры или мыши. Использование Привет структуры союза. |
typedef struct tagMOUSEINPUT {}
ДЛИННЫЕ dx;
ДЛИННЫЕ dy;
DWORD mouseData;
DWORD dwFlags;
DWORD времени;
DWORD dwExtraInfo;
} MOUSEINPUT, * PMOUSEINPUT, ДАЛЕКО * LPMOUSEINPUT
Если dwFlags не содержит MOUSEEVENTF_WHEEL, то mouseData должно быть равно нулю.
| Значение | Значение |
|---|---|
| MOUSEEVENTF_ABSOLUTE | Указывает, что dx и dy членов содержат нормализованных абсолютные координаты. Если флаг не установлен, dx и dy элементы содержат относительные данные: изменение в положении со времени последнего доклада позиция. Этот флаг может быть задана или не задан, независимо от того, какие мыши или другого указывающего устройства, если таковые имеются, подключенными к системе. Дополнительную информацию об относительной мыши движения смотрите в следующем разделе замечания. |
| MOUSEEVENTF_MOVE | Указывает, что произошло движение. |
| MOUSEEVENTF_LEFTDOWN | Указывает, что была нажата левая кнопка. |
| MOUSEEVENTF_LEFTUP | Указывает, что левая кнопка была выпущена. |
| MOUSEEVENTF_RIGHTDOWN | Указывает, что была нажата правая кнопка. |
| MOUSEEVENTF_RIGHTUP | Указывает, что была выпущена правой кнопкой. |
| MOUSEEVENTF_MIDDLEDOWN | Указывает, что была нажата средняя кнопка. |
| MOUSEEVENTF_MIDDLEUP | Указывает, что средняя кнопка была выпущена. |
| MOUSEEVENTF_WHEEL | Windows NT: Указывает, что была перенесена колесо, если мышь оснащена колесом. Указывается количество движения в mouseData. |
Битовые флаги, определяющие статус кнопкой мыши имеют значение указать изменения в статусе, не текущих условий. Например если левая кнопка мыши нажата и удерживается, MOUSEEVENTF_LEFTDOWN устанавливается, когда впервые нажатии левой кнопки, но не для последующих ходатайств. Аналогично MOUSEEVENTF_LEFTUP имеет значение только тогда, когда кнопка впервые выпущен.
typedef struct tagKEYBDINPUT {}
СЛОВО wVk;
СЛОВО wScan;
DWORD dwFlags;
DWORD времени;
DWORD dwExtraInfo;
} KEYBDINPUT, * PKEYBDINPUT, ДАЛЕКО * LPKEYBDINPUT
| Значение | Значение |
|---|---|
| KEYEVENTF_EXTENDEDKEY | Если указан, код сканирования предшествовала префиксом byte, который имеет значение 0xE0 (224). |
| KEYEVENTF_KEYUP | Если указан, выпускаемой ключ. Если не указан, клавиша нажата. |
typedef struct tagHARDWAREINPUT {}
DWORD uMsg;
СЛОВО wParamL;
СЛОВО wParamH;
DWORD dwExtraInfo;
} HARDWAREINPUT, * PHARDWAREINPUT, ЧТО * LPHARDWAREINPUT
При перемещении мыши, обозначается MOUSEEVENTF_MOVE набор, dx и dy укажите сведения об этом движении. Информация предоставляется как абсолютный или относительный целочисленных значений.
Если задано значение MOUSEEVENTF_ABSOLUTE, dx и dy содержат нормализованных абсолютные координаты от 0 до 65535. Процедуры обработки события сопоставляет эти координаты на поверхности дисплея. Координат (0,0) карты на верхнего левого угла отображаемой поверхности; карты координат (65535,65535) на правом нижнем углу.
Если не указано значение MOUSEEVENTF_ABSOLUTE, dx и dy укажите ходатайств относительно предыдущего события мыши (последние сообщения о позиции). Положительные значения означает мыши справа переехала или вниз; отрицательные значения означают мыши переместить влево (или вверх).
Относительная мышь движение может быть воздействие скорость мыши и две мыши пороговых значений. Пользователь устанавливает эти три значения с помощью ползунка Скорость перемещения указателя мышиСвойства листа панели управления. Приложение получает и задает эти значения с функции SystemParametersInfo .
Операционная система применяет два испытания для указанной относительной мыши движения. Если заданное расстояние вдоль оси x или y больше чем первое значение порога мыши, и скорость мыши не равен нулю, операционная система удваивает расстояние. Если заданное расстояние вдоль оси x или y больше, чем значение порога второго мыши, и скорость мыши равняется двум, операционная система удваивает расстояние, которое является результатом применения первый тест порога. Таким образом для операционной системы для умножения заданного относительной мыши движение вдоль оси x или y оси в четыре раза.
nbsp; Windows &NT: требует версии 4.0 SP3 или более поздней версии.
Windows:Требует Windows 98 или более поздней версии.
Windows CE:Не поддерживается.
Заголовок:Объявленные в winuser.h.
Обзор ввода клавиатуры, структуры ввода клавиатуры, GetMessageExtraInfo, SendInput, SystemParametersInfo