Estructura MOUSEINPUT (winuser.h)
Contiene información acerca de un evento de mouse simulado.
Sintaxis
typedef struct tagMOUSEINPUT {
LONG dx;
LONG dy;
DWORD mouseData;
DWORD dwFlags;
DWORD time;
ULONG_PTR dwExtraInfo;
} MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;
Miembros
dx
Tipo: LONG
Posición absoluta del mouse o la cantidad de movimiento desde que se generó el último evento del mouse, dependiendo del valor del miembro dwFlags . Los datos absolutos se especifican como coordenada x del mouse; los datos relativos se especifican como el número de píxeles movidos.
dy
Tipo: LONG
Posición absoluta del mouse o la cantidad de movimiento desde que se generó el último evento del mouse, dependiendo del valor del miembro dwFlags . Los datos absolutos se especifican como la coordenada y del mouse; los datos relativos se especifican como el número de píxeles movidos.
mouseData
Tipo: DWORD
Si dwFlags contiene MOUSEEVENTF_WHEEL, mouseData especifica la cantidad de movimiento de la rueda. Un valor positivo indica que la rueda se ha girado hacia delante, hacia el lado contrario al usuario. Un valor negativo indica que la rueda se ha girado hacia atrás, hacia el usuario. Un clic de rueda se define como WHEEL_DELTA, que es 120.
Windows Vista: si dwFlags contiene MOUSEEVENTF_HWHEEL, dwData especifica la cantidad de movimiento de la rueda. Un valor positivo indica que la rueda se ha rotado hacia la derecha; un valor negativo indica que la rueda se ha rotado hacia la izquierda. Un clic de rueda se define como WHEEL_DELTA, que es 120.
Si dwFlags no contiene MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN o MOUSEEVENTF_XUP, mouseData debe ser cero.
Si dwFlags contiene MOUSEEVENTF_XDOWN o MOUSEEVENTF_XUP, mouseData especifica qué botones X se presionaron o liberaron. Este valor puede ser cualquier combinación de las marcas siguientes.
Value | Significado |
---|---|
XBUTTON1 0x0001 |
Establezca si se presiona o suelta el primer botón X. |
XBUTTON2 0x0002 |
Establezca si se presiona o suelta el segundo botón X. |
dwFlags
Tipo: DWORD
Conjunto de marcas de bits que especifican varios aspectos del movimiento del mouse y clics de botón. Los bits de este miembro pueden ser cualquier combinación razonable de los valores siguientes.
Las marcas de bits que especifican el estado del botón del mouse se establecen para indicar los cambios en el estado, no las condiciones en curso. Por ejemplo, si se presiona y mantiene presionado el botón izquierdo del mouse, MOUSEEVENTF_LEFTDOWN se establece cuando se presiona por primera vez el botón izquierdo, pero no para los movimientos posteriores. Del mismo modo, MOUSEEVENTF_LEFTUP solo se establece cuando se suelta el botón por primera vez.
No se pueden especificar la marca MOUSEEVENTF_WHEEL y las marcas MOUSEEVENTF_XDOWN o MOUSEEVENTF_XUP simultáneamente en el parámetro dwFlags , ya que ambos requieren el uso del campo mouseData .
Value | Significado |
---|---|
MOUSEEVENTF_MOVE 0x0001 |
Se produjo el movimiento. |
MOUSEEVENTF_LEFTDOWN 0x0002 |
Se presionó el botón izquierdo. |
MOUSEEVENTF_LEFTUP 0x0004 |
Se soltó el botón izquierdo. |
MOUSEEVENTF_RIGHTDOWN 0x0008 |
Se presionó el botón derecho. |
MOUSEEVENTF_RIGHTUP 0x0010 |
Se soltó el botón derecho. |
MOUSEEVENTF_MIDDLEDOWN 0x0020 |
Se presionó el botón central. |
MOUSEEVENTF_MIDDLEUP 0x0040 |
Se soltó el botón central. |
MOUSEEVENTF_XDOWN 0x0080 |
Se presionó un botón X. |
MOUSEEVENTF_XUP 0x0100 |
Se liberó un botón X. |
MOUSEEVENTF_WHEEL 0x0800 |
La rueda se movió, si el mouse tiene una rueda. La cantidad de movimiento se especifica en mouseData. |
MOUSEEVENTF_HWHEEL 0x1000 |
La rueda se movió horizontalmente, si el mouse tiene una rueda. La cantidad de movimiento se especifica en mouseData. Windows XP/2000: este valor no es compatible. |
MOUSEEVENTF_MOVE_NOCOALESCE 0x2000 |
Los mensajes de WM_MOUSEMOVE no se fusionarán. El comportamiento predeterminado es fusionar WM_MOUSEMOVE mensajes. Windows XP/2000: este valor no es compatible. |
MOUSEEVENTF_VIRTUALDESK 0x4000 |
Asigna coordenadas a todo el escritorio. Debe usarse con MOUSEEVENTF_ABSOLUTE. |
MOUSEEVENTF_ABSOLUTE 0x8000 |
Los miembros dx y dy contienen coordenadas absolutas normalizadas. Si no se establece la marca, dxy dy contienen datos relativos (el cambio de posición desde la última posición notificada). Esta marca se puede establecer o no, independientemente del tipo de mouse u otro dispositivo que apunte, si existe, está conectado al sistema. Para obtener más información sobre el movimiento relativo del mouse, consulte la siguiente sección Comentarios. |
time
Tipo: DWORD
Marca de tiempo del evento, en milisegundos. Si este parámetro es 0, el sistema proporcionará su propia marca de tiempo.
dwExtraInfo
Tipo: ULONG_PTR
Valor adicional asociado al evento del mouse. Una aplicación llama a GetMessageExtraInfo para obtener esta información adicional.
Observaciones
Si el mouse se ha movido, indicado por MOUSEEVENTF_MOVE, dx y dy especifican información sobre ese movimiento. La información se especifica como valores enteros absolutos o relativos.
Si se especifica MOUSEEVENTF_ABSOLUTE valor, dx y dy contienen coordenadas absolutas normalizadas entre 0 y 65 535. El procedimiento de evento asigna estas coordenadas a la superficie de visualización. Coordenada (0,0) se asigna a la esquina superior izquierda de la superficie de visualización; coordenada (65535.65535) se asigna a la esquina inferior derecha. En un sistema multimonitor, las coordenadas se asignan al monitor principal.
Si se especifica MOUSEEVENTF_VIRTUALDESK , las coordenadas se asignan a todo el escritorio virtual.
Si no se especifica el valor de MOUSEEVENTF_ABSOLUTE , dxy dy especifican el movimiento con respecto al evento anterior del mouse (la última posición notificada). Los valores positivos significan que el mouse se movió a la derecha (o hacia abajo); los valores negativos significan que el mouse se ha movido a la izquierda (o hacia arriba).
El movimiento relativo del mouse está sujeto a los efectos de la velocidad del mouse y los valores de umbral de dos mouses. Un usuario establece estos tres valores con el control deslizante Velocidad del puntero de la hoja Propiedades del mouse del Panel de control. Puede obtener y establecer estos valores mediante la función SystemParametersInfo .
El sistema aplica dos pruebas al movimiento relativo del mouse especificado. Si la distancia especificada a lo largo del eje x o y es mayor que el primer valor de umbral del mouse, y la velocidad del mouse no es cero, el sistema duplica la distancia. Si la distancia especificada a lo largo del eje x o y es mayor que el segundo valor de umbral del mouse, y la velocidad del mouse es igual a dos, el sistema duplica la distancia resultante de aplicar la primera prueba de umbral. Por lo tanto, es posible que el sistema multiplique el movimiento relativo del mouse especificado a lo largo del eje x o y hasta cuatro veces.
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado | winuser.h (incluya Windows.h) |
Consulte también
Conceptual
Referencia