mouse_event-Funktion (winuser.h)
Die Funktion mouse_event synthetisiert Mausbewegungen und -klicks.
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.
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 |
---|---|
|
Legen Sie fest, ob die erste X-Taste gedrückt oder freigegeben wurde. |
|
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
Andere Ressourcen
Referenz