mouse_event, fonction (winuser.h)

La fonction mouse_event synthétise le mouvement de la souris et les clics de bouton.

Note Cette fonction a été remplacée. Utilisez SendInput à la place.
 

Syntaxe

void mouse_event(
  [in] DWORD     dwFlags,
  [in] DWORD     dx,
  [in] DWORD     dy,
  [in] DWORD     dwData,
  [in] ULONG_PTR dwExtraInfo
);

Paramètres

[in] dwFlags

Type : DWORD

Contrôle différents aspects du mouvement de la souris et du clic sur le bouton. Ce paramètre peut être certaines combinaisons des valeurs suivantes.

Valeur Signification
MOUSEEVENTF_ABSOLUTE
0x8000
Les paramètres dx et dy contiennent des coordonnées absolues normalisées. S’ils ne sont pas définis, ces paramètres contiennent des données relatives : le changement de position depuis la dernière position signalée. Cet indicateur peut être défini, ou non, quel que soit le type d’appareil de type souris ou de type souris, le cas échéant, connecté au système. Pour plus d’informations sur le mouvement relatif de la souris, consultez la section Remarques suivante.
MOUSEEVENTF_LEFTDOWN
0x0002
Le bouton gauche est désactivé.
MOUSEEVENTF_LEFTUP
0x0004
Le bouton gauche est actif.
MOUSEEVENTF_MIDDLEDOWN
0x0020
Le bouton central est arrêté.
MOUSEEVENTF_MIDDLEUP
0x0040
Le bouton central est vers le haut.
MOUSEEVENTF_MOVE
0x0001
Un mouvement s’est produit.
MOUSEEVENTF_RIGHTDOWN
0x0008
Le bouton droit est en bas.
MOUSEEVENTF_RIGHTUP
0x0010
Le bouton droit est en place.
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 dwData
MOUSEEVENTF_XDOWN
0x0080
Un bouton X a été appuyé.
MOUSEEVENTF_XUP
0x0100
Un bouton X a été relâché.
MOUSEEVENTF_WHEEL
0x0800
Le bouton de la roue est pivoté.
MOUSEEVENTF_HWHEEL
0x01000
Le bouton de la roue est incliné.
 

Les valeurs qui spécifient les status de bouton de la souris sont définies 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 MOUSEEVENTF_WHEEL et MOUSEEVENTF_XDOWN ou MOUSEEVENTF_XUP simultanément dans le paramètre dwFlags , car ils nécessitent l’utilisation du champ dwData .

[in] dx

Type : DWORD

La position absolue de la souris le long de l’axe X ou sa quantité de mouvement depuis le dernier événement de souris a été généré, selon le paramètre de MOUSEEVENTF_ABSOLUTE. Les données absolues sont spécifiées en tant que coordonnée x réelle de la souris ; les données relatives sont spécifiées en tant que nombre de mickeys déplacées. Un mickey est la quantité qu’une souris doit déplacer pour qu’elle signale qu’elle s’est déplacée.

[in] dy

Type : DWORD

La position absolue de la souris le long de l’axe Y ou sa quantité de mouvement depuis le dernier événement de souris a été généré, selon le paramètre de MOUSEEVENTF_ABSOLUTE. Les données absolues sont spécifiées en tant que coordonnée y réelle de la souris ; les données relatives sont spécifiées en tant que nombre de mickeys déplacées.

[in] dwData

Type : DWORD

Si dwFlags contient MOUSEEVENTF_WHEEL, dwData 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.

Si dwFlags contient MOUSEEVENTF_HWHEEL, dwData spécifie la quantité de mouvement de la roue. Une valeur positive indique que la roue a été inclinée vers la droite ; Une valeur négative indique que la roue a été inclinée vers la gauche.

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

Si dwFlags n’est pas MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN ou MOUSEEVENTF_XUP, dwData doit être égal à zéro.

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

[in] dwExtraInfo

Type : ULONG_PTR

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

Valeur de retour

None

Remarques

Si la souris s’est déplacée, comme indiqué par MOUSEEVENTF_MOVE en cours de définition, dx et dy contiennent 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ée (0,0) mappe sur le coin supérieur gauche de la surface d’affichage, (65535,65535) mappe sur le coin inférieur droit.

Si la valeur MOUSEEVENTF_ABSOLUTE n’est pas spécifiée, dx et dy spécifient les mouvements relatifs à partir du moment où le dernier événement de souris a été généré (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 paramètres de vitesse et d’accélération de la souris. Un utilisateur final définit ces valeurs à l’aide de l’application Souris dans Panneau de configuration. Une application obtient et définit ces valeurs avec la fonction SystemParametersInfo .

Le système applique deux tests au mouvement de souris relatif spécifié lors de l’application de l’accélération. Si la distance spécifiée le long de l’axe x ou y est supérieure à la première valeur seuil de la souris et que le niveau d’accélération de la souris n’est pas égal à zéro, le système d’exploitation 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 le niveau d’accélération de la souris est égal à deux, le système d’exploitation double la distance résultant de l’application du premier test de seuil. Il est donc possible pour le système d’exploitation de multiplier jusqu’à quatre fois le mouvement de la souris relativement spécifié le long de l’axe x ou y.

Une fois l’accélération appliquée, le système met à l’échelle la valeur résultante en fonction de la vitesse souhaitée de la souris. La vitesse de la souris peut aller de 1 (la plus lente) à 20 (la plus rapide) et représente la quantité de déplacement du pointeur en fonction de la distance que la souris déplace. La valeur par défaut est 10, ce qui n’entraîne aucune modification supplémentaire du mouvement de la souris.

La fonction mouse_event est utilisée pour synthétiser les événements de souris par les applications qui en ont besoin. Il est également utilisé par les applications qui ont besoin d’obtenir plus d’informations à partir de la souris que sa position et l’état du bouton. Par exemple, si un fabricant de tablettes souhaite transmettre des informations basées sur le stylet à ses propres applications, il peut écrire une DLL qui communique directement avec le matériel de la tablette, obtient les informations supplémentaires et les enregistre dans une file d’attente. La DLL appelle ensuite mouse_event avec le bouton standard et les données de position x/y, ainsi que, dans le paramètre dwExtraInfo , un pointeur ou un index vers les informations supplémentaires mises en file d’attente. Lorsque l’application a besoin des informations supplémentaires, elle appelle la DLL avec le pointeur ou l’index stocké dans dwExtraInfo, et la DLL retourne les informations supplémentaires.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll

Voir aussi

Conceptuel

GetMessageExtraInfo

Entrées de la souris

Autres ressources

Référence

SystemParametersInfo