mouse_event-Funktion (winuser.h)

Die Funktion mouse_event synthetisiert Mausbewegungen und -klicks.

Hinweis Diese Funktion wurde ersetzt. Verwenden Sie stattdessen die Funktion SendInput.
 

Syntax

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

Parameter

[in] dwFlags

Art: DWORD

Steuert verschiedene Aspekte der Mausbewegung und des Klickens auf Schaltflächen. Dieser Parameter kann bestimmte Kombinationen der folgenden Werte sein.

Wert Bedeutung
MOUSEEVENTF_ABSOLUTE
0x8000
Die Parameter dx und dy enthalten normalisierte absolute Koordinaten. Wenn nicht festgelegt, enthalten diese Parameter 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 mausähnliches Gerät,falls vorhanden, mit dem System verbunden ist. Weitere Informationen zur relativen Mausbewegung finden Sie im abschnitt Hinweise.
MOUSEEVENTF_LEFTDOWN
0x0002
Die linke Schaltfläche ist nach unten.
MOUSEEVENTF_LEFTUP
0x0004
Die linke Schaltfläche ist aktiviert.
MOUSEEVENTF_MIDDLEDOWN
0x0020
Die mittlere Schaltfläche ist aus.
MOUSEEVENTF_MIDDLEUP
0x0040
Die mittlere Schaltfläche ist aktiviert.
MOUSEEVENTF_MOVE
0x0001
Es ist eine Bewegung aufgetreten.
MOUSEEVENTF_RIGHTDOWN
0x0008
Die rechte Schaltfläche ist aus.
MOUSEEVENTF_RIGHTUP
0x0010
Die rechte Schaltfläche ist aktiviert.
MOUSEEVENTF_WHEEL
0x0800
Das Rad wurde verschoben, wenn die Maus ein Rad hat. Der Bewegungsumfang wird in dwData angegeben.
MOUSEEVENTF_XDOWN
0x0080
Eine X-Taste wurde gedrückt.
MOUSEEVENTF_XUP
0x0100
Eine X-Schaltfläche wurde freigegeben.
MOUSEEVENTF_WHEEL
0x0800
Die Radtaste wird gedreht.
MOUSEEVENTF_HWHEEL
0x01000
Die Radtaste ist gekippt.
 

Die Werte, 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. Ebenso wird MOUSEEVENTF_LEFTUP nur festgelegt, wenn die Schaltfläche zum ersten Mal freigegeben wird.

Sie können nicht MOUSEEVENTF_WHEELund MOUSEEVENTF_XDOWN oderMOUSEEVENTF_XUP gleichzeitig im dwFlags-Parameter angeben, da beide das DwData-Feld verwenden müssen.

[in] dx

Art: DWORD

Die absolute Position der Maus entlang der x-Achse oder ihr Bewegungsumfang seit dem letzten Mausereignis, abhängig von der Einstellung der MOUSEEVENTF_ABSOLUTE. Absolute Daten werden als tatsächliche x-Koordinate der Maus angegeben. relative Daten werden als anzahl der verschobenen Mickeys angegeben. Ein Mickey ist der Betrag, den eine Maus bewegen muss, damit sie meldet, dass sie sich verschoben hat.

[in] dy

Art: DWORD

Die absolute Position der Maus entlang der y-Achse oder ihr Bewegungsumfang seit dem letzten Mausereignis wurde generiert, abhängig von der Einstellung MOUSEEVENTF_ABSOLUTE. Absolute Daten werden als tatsächliche y-Koordinate der Maus angegeben. relative Daten werden als anzahl der verschobenen Mickeys angegeben.

[in] dwData

Art: DWORD

Wenn dwFlagsMOUSEEVENTF_WHEEL enthält, gibt dwData 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.

Wenn dwFlagsMOUSEEVENTF_HWHEEL enthält, gibt dwData die Menge der Radbewegung an. Ein positiver Wert gibt an, dass das Rad nach rechts gekippt wurde. ein negativer Wert gibt an, dass das Rad nach links gekippt wurde.

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

Wenn dwFlags nicht MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN oder MOUSEEVENTF_XUP ist, sollte dwData 0 sein.

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

[in] dwExtraInfo

Typ: ULONG_PTR

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

Rückgabewert

Keine

Bemerkungen

Wenn sich die Maus bewegt hat, wird durch MOUSEEVENTF_MOVE festgelegt, dx - und dy-Informationen über diese Bewegung enthalten. 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, (65535,65535) karten in der unteren rechten Ecke.

Wenn der MOUSEEVENTF_ABSOLUTE Wert nicht angegeben wird, geben dx und dy relative Bewegungen an, die ab dem Zeitpunkt des letzten Mausereignisses (die letzte gemeldete Position) generiert wurden. 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.

Relative Mausbewegung unterliegt den Einstellungen für Mausgeschwindigkeit und Beschleunigungsstufe. Ein Endbenutzer legt diese Werte mithilfe der Mausanwendung in Systemsteuerung fest. Eine Anwendung ruft diese Werte mit der SystemParametersInfo-Funktion ab und legt sie fest.

Das System wendet beim Anwenden der Beschleunigung 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 Mausbeschleunigung nicht null ist, verdoppelt das Betriebssystem den Abstand. Wenn der angegebene Abstand entlang der x- oder y-Achse größer als der Schwellenwert der zweiten Maus ist und die Mausbeschleunigung gleich zwei ist, verdoppelt das Betriebssystem den Abstand, der sich aus der Anwendung des ersten Schwellenwerttests ergeben hat. So ist es für das Betriebssystem möglich, relativ angegebene Mausbewegungen entlang der x- oder y-Achse bis zu viermal zu multiplizieren.

Nachdem die Beschleunigung angewendet wurde, skaliert das System den resultierenden Wert durch die gewünschte Mausgeschwindigkeit. Die Mausgeschwindigkeit kann zwischen 1 (langsam) und 20 (schnellste) liegen und gibt an, wie viel sich der Zeiger basierend auf der Entfernung bewegt, die die Maus bewegt. Der Standardwert ist 10, was zu keiner zusätzlichen Änderung der Mausbewegung führt.

Die funktion mouse_event wird verwendet, um Mausereignisse von Anwendungen zu synthetisieren, die dies benötigen. Es wird auch von Anwendungen verwendet, die mehr Informationen von der Maus abrufen müssen als die Position und den Schaltflächenzustand. Wenn ein Tablet-Hersteller beispielsweise stiftbasierte Informationen an seine eigenen Anwendungen übergeben möchte, kann er eine DLL schreiben, die direkt mit der Tablet-Hardware kommuniziert, die zusätzlichen Informationen abruft und in einer Warteschlange speichert. Die DLL ruft dann mouse_event mit der Standardschaltfläche und x/y-Positionsdaten sowie im dwExtraInfo-Parameter einen Zeiger oder Index auf die zusätzlichen Informationen in der Warteschlange auf. Wenn die Anwendung die zusätzlichen Informationen benötigt, ruft sie die DLL mit dem in dwExtraInfo gespeicherten Zeiger oder Index auf, und die DLL gibt die zusätzlichen Informationen zurück.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (windows.h einschließen)
Bibliothek User32.lib
DLL User32.dll

Siehe auch

Konzept

GetMessageExtraInfo

Mauseingabe

Andere Ressourcen

Referenz

SystemParametersInfo