MOUSEINPUT-Struktur (winuser.h)

Enthält Informationen zu einem simulierten Mausereignis.

Syntax

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

Member

dx

Typ: LONG

Die absolute Position der Maus oder der Bewegungsumfang seit dem letzten Mausereignis, abhängig vom Wert des dwFlags-Elements . Absolute Daten werden als x-Koordinate der Maus angegeben. relative Daten werden als Die Anzahl der verschobenen Pixel angegeben.

dy

Typ: LONG

Die absolute Position der Maus oder der Bewegungsumfang seit dem letzten Mausereignis, abhängig vom Wert des dwFlags-Elements . Absolute Daten werden als y-Koordinate der Maus angegeben. relative Daten werden als Die Anzahl der verschobenen Pixel angegeben.

mouseData

Art: DWORD

Wenn dwFlagsMOUSEEVENTF_WHEEL enthält, gibt mouseData die Menge der Radbewegung an. Ein positiver Wert bedeutet, dass das Rad von dem*der Benutzer*in weg vorwärts gedreht wurde, ein negativer Wert bedeutet, dass das Rad zu dem*der Benutzer*in hin rückwärts gedreht wurde. Ein Radklick ist als WHEEL_DELTA definiert, d. h. 120.

Windows Vista: Wenn dwFlagsMOUSEEVENTF_HWHEEL enthält, gibt dwData die Menge der Radbewegung an. Ein positiver Wert gibt an, dass das Rad nach rechts gedreht wurde. Ein negativer Wert gibt an, dass das Rad nach links gedreht wurde. Ein Radklick ist als WHEEL_DELTA definiert, d. h. 120.

Wenn dwFlags keine MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN oder MOUSEEVENTF_XUP enthält, sollte mouseData null sein.

Wenn dwFlagsMOUSEEVENTF_XDOWN oder MOUSEEVENTF_XUP enthält, gibt mouseData an, welche X-Schaltflächen gedrückt oder freigegeben wurden. Dieser Wert kann eine beliebige Kombination der folgenden Flags sein.

Wert Bedeutung
XBUTTON1
0x0001
Legen Sie fest, ob die erste X-Taste gedrückt oder freigegeben wird.
XBUTTON2
0x0002
Legen Sie fest, ob die zweite X-Taste gedrückt oder freigegeben wird.

dwFlags

Art: DWORD

Eine Reihe von Bitflags, die verschiedene Aspekte von Mausbewegungen und Schaltflächenklicks angeben. Die Bits in diesem Member können eine beliebige sinnvolle Kombination der folgenden Werte sein.

Die Bitflags, die die Maustaste status angeben, sind so festgelegt, dass änderungen in status und nicht auf laufende Bedingungen angegeben werden. Wenn beispielsweise die linke Maustaste gedrückt und gedrückt gehalten wird, wird MOUSEEVENTF_LEFTDOWN festgelegt, wenn die linke Taste zuerst gedrückt wird, aber nicht für nachfolgende Bewegungen. Auf ähnliche Weise wird MOUSEEVENTF_LEFTUP nur festgelegt, wenn die Schaltfläche zum ersten Mal freigegeben wird.

Sie können nicht sowohl das MOUSEEVENTF_WHEEL-Flag als auch MOUSEEVENTF_XDOWN- oder MOUSEEVENTF_XUP-Flags gleichzeitig im dwFlags-Parameter angeben, da beide das MouseData-Feld verwenden müssen.

Wert Bedeutung
MOUSEEVENTF_MOVE
0x0001
Es ist eine Bewegung aufgetreten.
MOUSEEVENTF_LEFTDOWN
0x0002
Die linke Schaltfläche wurde gedrückt.
MOUSEEVENTF_LEFTUP
0x0004
Die linke Schaltfläche wurde freigegeben.
MOUSEEVENTF_RIGHTDOWN
0x0008
Die rechte Taste wurde gedrückt.
MOUSEEVENTF_RIGHTUP
0x0010
Die rechte Schaltfläche wurde freigegeben.
MOUSEEVENTF_MIDDLEDOWN
0x0020
Die mittlere Taste wurde gedrückt.
MOUSEEVENTF_MIDDLEUP
0x0040
Die mittlere Schaltfläche wurde freigegeben.
MOUSEEVENTF_XDOWN
0x0080
Eine X-Taste wurde gedrückt.
MOUSEEVENTF_XUP
0x0100
Eine X-Schaltfläche wurde freigegeben.
MOUSEEVENTF_WHEEL
0x0800
Das Rad wurde bewegt, wenn die Maus ein Rad hat. Der Bewegungsumfang wird in mouseData angegeben.
MOUSEEVENTF_HWHEEL
0x1000
Das Rad wurde horizontal bewegt, wenn die Maus über ein Rad verfügt. Der Bewegungsumfang wird in mouseData angegeben.
Windows XP/2000: Dieser Wert wird nicht unterstützt.
MOUSEEVENTF_MOVE_NOCOALESCE
0x2000
Die WM_MOUSEMOVE Nachrichten werden nicht vereint. Das Standardverhalten besteht darin, WM_MOUSEMOVE Nachrichten zusammenzuverknen.
Windows XP/2000: Dieser Wert wird nicht unterstützt.
MOUSEEVENTF_VIRTUALDESK
0x4000
Ordnet Koordinaten dem gesamten Desktop zu. Muss mit MOUSEEVENTF_ABSOLUTE verwendet werden.
MOUSEEVENTF_ABSOLUTE
0x8000
Die Elemente dx und dy enthalten normalisierte absolute Koordinaten. Wenn das Flag nicht festgelegt ist, enthalten dxund dy relative Daten (die Änderung der Position seit der letzten gemeldeten Position). Dieses Flag kann festgelegt oder nicht festgelegt werden, unabhängig davon, welche Art von Maus oder ein anderes zeigendes Gerät (falls vorhanden) mit dem System verbunden ist. Weitere Informationen zur relativen Mausbewegung finden Sie im abschnitt Hinweise.

time

Art: DWORD

Der Zeitstempel für das Ereignis in Millisekunden. Wenn dieser Parameter 0 ist, stellt das System einen eigenen Zeitstempel bereit.

dwExtraInfo

Typ: ULONG_PTR

Ein zusätzlicher Wert, der dem Mausereignis zugeordnet ist. Eine Anwendung ruft GetMessageExtraInfo auf, um diese zusätzlichen Informationen abzurufen.

Hinweise

Wenn sich die Maus bewegt hat, geben MOUSEEVENTF_MOVE, dx und dy Informationen zu dieser Bewegung an. Die Informationen werden als absolute oder relative ganzzahlige Werte angegeben.

Wenn MOUSEEVENTF_ABSOLUTE Wert angegeben wird, enthalten dx und dy normalisierte absolute Koordinaten zwischen 0 und 65.535. Die Ereignisprozedur ordnet diese Koordinaten der Anzeigeoberfläche zu. Koordinatenkarten (0,0) auf der oberen linken Ecke der Anzeigeoberfläche; Koordinaten (65535,65535) karten auf der unteren rechten Ecke. In einem Multimonitorsystem werden die Koordinaten dem primären Monitor zugeordnet.

Wenn MOUSEEVENTF_VIRTUALDESK angegeben ist, werden die Koordinaten dem gesamten virtuellen Desktop zugeordnet.

Wenn der MOUSEEVENTF_ABSOLUTE Wert nicht angegeben wird, geben dxund dy die Bewegung relativ zum vorherigen Mausereignis (die zuletzt gemeldete Position) an. Positive Werte bedeuten, dass die Maus nach rechts (oder nach unten) verschoben wurde. negative Werte bedeuten, dass die Maus nach links (oder nach oben) verschoben wurde.

Die relative Mausbewegung unterliegt den Auswirkungen der Mausgeschwindigkeit und der Schwellenwerte für zwei Mausen. Ein Benutzer legt diese drei Werte mit dem Schieberegler Zeigergeschwindigkeit des Blatts Mauseigenschaften des Systemsteuerung fest. Sie können diese Werte mit der SystemParametersInfo-Funktion abrufen und festlegen.

Das System wendet zwei Tests auf die angegebene relative Mausbewegung an. Wenn der angegebene Abstand entlang der x- oder y-Achse größer als der Schwellenwert der ersten Maus ist und die Mausgeschwindigkeit nicht 0 ist, verdoppelt das System den Abstand. Wenn der angegebene Abstand entlang der x- oder y-Achse größer als der schwellenwert für die zweite Maus ist und die Mausgeschwindigkeit gleich zwei ist, verdoppelt das System den Abstand, der sich aus der Anwendung des ersten Schwellenwerttests ergibt. So ist es dem System möglich, die angegebene relative Mausbewegung entlang der x- oder y-Achse bis zu viermal zu multiplizieren.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile winuser.h (einschließlich Windows.h)

Siehe auch

Konzept

GetMessageExtraInfo

INPUT

Tastatureingabe

Referenz

SendInput