Ich versuche, die Maus zu bewegen, während eine Drittanbieter-Anwendung (außerhalb meiner Kontrolle) aktiviert ist (das oberste Programm). Idealerweise möchte ich die Maus relativ zu meiner aktuellen Position bewegen, aber die Verwendung absoluter Positionen wäre nicht schwer zu konvertieren. Hier ist, was ich derzeit verwende;Maus Ereignisse in vb.net
<DllImport("user32.dll")> _
Private Shared Sub mouse_event(dwFlags As UInteger, dx As UInteger, dy As UInteger, dwData As UInteger, dwExtraInfo As Integer)
End Sub
Public Sub MoveMouse(ByVal xPos As Long, ByVal yPos As Long)
mouse_event(MOUSEEVENTF_MOVE, xPos, yPos, 0, 0)
End Sub
Public Const MOUSEEVENTF_MOVE = &H1
Es heißt mit;
MoveMouse(100, 100)
Nun mein Problem ist meine Maus bewegt sich in y, aber nicht in x. Ich habe versucht, einige Fehlersuche und es stellt sich heraus, der erste Wert in dem Aufruf (xPos) ist eigentlich die Entfernung in y bewegt, nicht x. Das YPos macht nichts. Zum Beispiel bewegt der untere Code die Maus um 50 Pixel nach unten;
MoveMouse(50, 0)
Was mache ich falsch?
Setzen Sie Ihre Definition von 'MOUSEEVENTF_MOVE'. – Aybe
@Aybe woopse .. danke! Ich habe es jetzt zur Frage hinzugefügt. – FraserOfSmeg
Arbeitete für mich. Allerdings sollten xPos und Ypos als "UInt32" deklariert werden. –