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
Referenz