mouse_event, fonction (winuser.h)
La fonction mouse_event synthétise le mouvement de la souris et les clics de bouton.
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.
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 |
---|---|
|
Définissez si le premier bouton X a été appuyé ou relâché. |
|
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
Autres ressources
Référence