MOUSEINPUT, structure (winuser.h)

Contient des informations sur un événement de souris simulé.

Syntaxe

typedef struct tagMOUSEINPUT {
  LONG      dx;
  LONG      dy;
  DWORD     mouseData;
  DWORD     dwFlags;
  DWORD     time;
  ULONG_PTR dwExtraInfo;
} MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;

Membres

dx

Type : LONG

La position absolue de la souris, ou la quantité de mouvement depuis le dernier événement de souris a été généré, en fonction de la valeur du membre dwFlags . Les données absolues sont spécifiées en tant que coordonnée x de la souris ; les données relatives sont spécifiées en tant que nombre de pixels déplacés.

dy

Type : LONG

La position absolue de la souris, ou la quantité de mouvement depuis le dernier événement de souris a été généré, en fonction de la valeur du membre dwFlags . Les données absolues sont spécifiées comme coordonnée y de la souris ; les données relatives sont spécifiées en tant que nombre de pixels déplacés.

mouseData

Type : DWORD

Si dwFlags contient MOUSEEVENTF_WHEEL, mouseData spécifie la quantité de mouvement de la roue. Une valeur positive indique que la roue a été actionnée vers l’avant, face à l’utilisateur ; une valeur négative indique que la roue a été actionnée vers l’arrière, en direction de l’utilisateur. Un clic de roue est défini comme WHEEL_DELTA, soit 120.

Windows Vista : si dwFlags contient MOUSEEVENTF_HWHEEL, dwData spécifie la quantité de mouvement de la roue. Une valeur positive indique une rotation de la molette vers la droite ; une valeur négative indique une rotation de la molette vers la gauche. Un clic de roue est défini comme WHEEL_DELTA, soit 120.

Si dwFlags ne contient pas MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN ou MOUSEEVENTF_XUP, mouseData doit être égal à zéro.

Si dwFlags contient MOUSEEVENTF_XDOWN ou MOUSEEVENTF_XUP, mouseData spécifie les boutons X qui ont été appuyés ou relâchés. Cette valeur peut être n’importe quelle combinaison des indicateurs suivants.

Valeur Signification
XBUTTON1
0x0001
Définissez si le premier bouton X est enfoncé ou relâché.
XBUTTON2
0x0002
Définissez si le deuxième bouton X est appuyé ou relâché.

dwFlags

Type : DWORD

Ensemble d’indicateurs de bits qui spécifient différents aspects du mouvement de la souris et des clics de bouton. Les bits de ce membre peuvent être n’importe quelle combinaison raisonnable des valeurs suivantes.

Les indicateurs de bits qui spécifient les status de bouton de la souris sont définis pour indiquer des modifications dans status, et non dans des conditions en cours. Par exemple, si le bouton gauche de la souris est enfoncé, MOUSEEVENTF_LEFTDOWN est défini lors de la première pression sur le bouton gauche, mais pas pour les mouvements suivants. De même , MOUSEEVENTF_LEFTUP est défini uniquement lorsque le bouton est relâché pour la première fois.

Vous ne pouvez pas spécifier simultanément l’indicateur MOUSEEVENTF_WHEEL et les indicateurs MOUSEEVENTF_XDOWN ou MOUSEEVENTF_XUP dans le paramètre dwFlags , car ils nécessitent tous deux l’utilisation du champ mouseData .

Valeur Signification
MOUSEEVENTF_MOVE
0x0001
Un mouvement s’est produit.
MOUSEEVENTF_LEFTDOWN
0x0002
Le bouton gauche a été appuyé.
MOUSEEVENTF_LEFTUP
0x0004
Le bouton gauche a été relâché.
MOUSEEVENTF_RIGHTDOWN
0x0008
Le bouton droit a été appuyé.
MOUSEEVENTF_RIGHTUP
0x0010
Le bouton droit a été relâché.
MOUSEEVENTF_MIDDLEDOWN
0x0020
Le bouton central a été appuyé.
MOUSEEVENTF_MIDDLEUP
0x0040
Le bouton central a été relâché.
MOUSEEVENTF_XDOWN
0x0080
Un bouton X a été appuyé.
MOUSEEVENTF_XUP
0x0100
Un bouton X a été relâché.
MOUSEEVENTF_WHEEL
0x0800
La roue a été déplacée, si la souris a une roulette. La quantité de mouvement est spécifiée dans mouseData.
MOUSEEVENTF_HWHEEL
0x1000
La roue a été déplacée horizontalement, si la souris a une roulette. La quantité de mouvement est spécifiée dans mouseData.
Windows XP/2000 : cette valeur n’est pas prise en charge.
MOUSEEVENTF_MOVE_NOCOALESCE
0x2000
Les messages WM_MOUSEMOVE ne seront pas coalescés. Le comportement par défaut consiste à fusionner WM_MOUSEMOVE messages.
Windows XP/2000 : cette valeur n’est pas prise en charge.
MOUSEEVENTF_VIRTUALDESK
0x4000
Mappe les coordonnées à l’ensemble du bureau. Doit être utilisé avec MOUSEEVENTF_ABSOLUTE.
MOUSEEVENTF_ABSOLUTE
0x8000
Les membres dx et dy contiennent des coordonnées absolues normalisées. Si l’indicateur n’est pas défini, dxet dy contiennent des données relatives (changement de position depuis la dernière position signalée). Cet indicateur peut être défini, ou non, quel que soit le type de souris ou d’autre appareil de pointage, le cas échéant, connecté au système. Pour plus d’informations sur le mouvement relatif de la souris, consultez la section Remarques suivante.

time

Type : DWORD

Horodatage de l’événement, en millisecondes. Si ce paramètre a la valeur 0, le système fournit son propre horodatage.

dwExtraInfo

Type : ULONG_PTR

Valeur supplémentaire associée à l’événement de souris. Une application appelle GetMessageExtraInfo pour obtenir ces informations supplémentaires.

Remarques

Si la souris a été déplacée, indiquée par MOUSEEVENTF_MOVE, dx et dy spécifient des informations sur ce mouvement. Les informations sont spécifiées en tant que valeurs entières absolues ou relatives.

Si MOUSEEVENTF_ABSOLUTE valeur est spécifiée, dx et dy contiennent des coordonnées absolues normalisées comprises entre 0 et 65 535. La procédure événementielle mappe ces coordonnées sur la surface d’affichage. Coordonnées (0,0) sur le coin supérieur gauche de la surface d’affichage; coordonnée (65535,65535) correspond au coin inférieur droit. Dans un système multimonitor, les coordonnées sont mappées au moniteur principal.

Si MOUSEEVENTF_VIRTUALDESK est spécifié, les coordonnées sont mappées à l’ensemble du bureau virtuel.

Si la valeur MOUSEEVENTF_ABSOLUTE n’est pas spécifiée, dxet dy spécifient le mouvement par rapport à l’événement de souris précédent (dernière position signalée). Les valeurs positives signifient que la souris a été déplacée vers la droite (ou vers le bas) ; les valeurs négatives signifient que la souris a été déplacée vers la gauche (ou vers le haut).

Le mouvement relatif de la souris est soumis aux effets de la vitesse de la souris et des valeurs de seuil à deux souris. Un utilisateur définit ces trois valeurs avec le curseur Vitesse du pointeur de la feuille Propriétés de la souris du Panneau de configuration. Vous pouvez obtenir et définir ces valeurs à l’aide de la fonction SystemParametersInfo .

Le système applique deux tests au déplacement relatif de la souris spécifié. Si la distance spécifiée le long de l’axe x ou y est supérieure à la première valeur de seuil de la souris et que la vitesse de la souris n’est pas égale à zéro, le système double la distance. Si la distance spécifiée le long de l’axe x ou y est supérieure à la deuxième valeur seuil de la souris et que la vitesse de la souris est égale à deux, le système double la distance résultant de l’application du premier test de seuil. Il est donc possible pour le système de multiplier jusqu’à quatre fois le mouvement relatif de la souris spécifié le long de l’axe x ou y.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête winuser.h (inclure Windows.h)

Voir aussi

Conceptuel

GetMessageExtraInfo

INPUT

Entrées du clavier

Référence

SendInput