Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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;
Members
dx
Type : long
Position absolue de la souris, ou quantité de mouvement depuis le dernier événement de la souris 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
Position absolue de la souris, ou quantité de mouvement depuis le dernier événement de la souris généré, en fonction de la valeur du membre dwFlags . Les données absolues sont spécifiées en tant que 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 roue. Une valeur positive indique que la roue a été pivotée vers l’avant, loin de l’utilisateur ; une valeur négative indique que la roue a été pivotée vers l’arrière vers l’utilisateur. Un clic de roue est défini comme WHEEL_DELTA, qui est 120.
Windows Vista : si dwFlags contient MOUSEEVENTF_HWHEEL, dwData spécifie la quantité de mouvement de roue. Une valeur positive indique que la roue a été pivotée vers la droite ; une valeur négative indique que la roue a été pivotée vers la gauche. Un clic de roue est défini comme WHEEL_DELTA, qui est 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 quels boutons X ont été enfoncés ou libérés. Cette valeur peut être n’importe quelle combinaison des indicateurs suivants.
| Valeur | Meaning |
|---|---|
|
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 enfoncé 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 une combinaison raisonnable des valeurs suivantes.
Les indicateurs de bits qui spécifient l’état du bouton de la souris sont définis pour indiquer les changements d’état, et non les conditions en cours. Par exemple, si le bouton gauche de la souris est enfoncé et enfoncé, MOUSEEVENTF_LEFTDOWN est défini lorsque le bouton gauche est d’abord appuyé, mais pas pour les mouvements suivants. De même , MOUSEEVENTF_LEFTUP est définie uniquement lorsque le bouton est libéré pour la première fois.
Vous ne pouvez pas spécifier à la fois l’indicateur de MOUSEEVENTF_WHEEL et les indicateurs MOUSEEVENTF_XDOWN ou MOUSEEVENTF_XUP simultanément dans le paramètre dwFlags , car ils nécessitent tous deux l’utilisation du champ mouseData .
| Valeur | Meaning |
|---|---|
|
MOUSEEVENTF_MOVE 0x0001 |
Le mouvement s’est produit. |
|
MOUSEEVENTF_LEFTDOWN 0x0002 |
Le bouton gauche a été appuyé. |
|
MOUSEEVENTF_LEFTUP 0x0004 |
Le bouton gauche a été libéré. |
|
MOUSEEVENTF_RIGHTDOWN 0x0008 |
Le bouton droit a été appuyé. |
|
MOUSEEVENTF_RIGHTUP 0x0010 |
Le bouton droit a été libéré. |
|
MOUSEEVENTF_MIDDLEDOWN 0x0020 |
Le bouton central a été appuyé. |
|
MOUSEEVENTF_MIDDLEUP 0x0040 |
Le bouton central a été libéré. |
|
MOUSEEVENTF_XDOWN 0x0080 |
Un bouton X a été appuyé. |
|
MOUSEEVENTF_XUP 0x0100 |
Un bouton X a été libéré. |
|
MOUSEEVENTF_WHEEL 0x0800 |
La roue a été déplacée, si la souris a une roue. 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 roue. 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 les messages WM_MOUSEMOVE . 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, dx et dy 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 de souris ou d’autre appareil pointant, le cas échéant, est 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 est 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 sous forme de 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 l’aire d’affichage. Les coordonnées (0,0) sont mappée sur le coin supérieur gauche de l’aire d’affichage ; coordonnée (65535 65535) mappe sur le 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 correspondent à l’intégralité du bureau virtuel.
Si la valeur MOUSEEVENTF_ABSOLUTE n’est pas spécifiée, dx et 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 est 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 mouvement relatif spécifié de la souris. 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 de 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 le mouvement relatif de la souris le long de l’axe x ou y jusqu’à quatre fois.
Spécifications
| Requirement | Valeur |
|---|---|
| Client minimum requis | Windows 2000 Professionnel [applications de bureau uniquement] |
| Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
| Header | winuser.h (include Windows.h) |
Voir aussi
conceptuelle
Référence