www.mikrocontroller.net

Forum: PC-Programmierung Simulation Mousclick mit VB 2008


Autor: Daniel V. (volte)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute!!

Wie kann man mit VB 2008 einen Mouseclick simulieren?

Für die Tastatur gibt's ja
My.Computer.Keyboard.SendKeys(".....") 

für die Mouse find ich aber keine Sendefunktion.....

danke, freundliche Grüße

Autor: Frager (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest doch einen OnClick-Handler erzeugen, den du dann per call 
aufrufst?

Autor: Daniel V. (volte)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie meinst du das, der onClick Handler reagiert ja nur bei einem 
Ereignisfeld (TextBox, Button...) oder?
mfG

Autor: Chw Load (chw-load)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab mal hir eine Klasse für dich
 Public Class Class1
    Public Enum MouseEvent
        Move = 1
        LeftDown = 2
        LeftUp = 4
        RightDown = 8
        RightUp = 16
        MiddleDown = 32
        MiddleUp = 64
        XDown = 128
        XUp = 256
        Wheel = 2048
    End Enum

    Private Declare Sub mouse_event Lib "user32.dll" (ByVal dwFlags As MouseEvent, ByVal dx As Integer, ByVal dy As Integer, ByVal dwdata As Integer, ByVal dwExtraInfo As Integer)

    Public Shared Sub Click(ByVal MouseEvent As MouseEvent, ByVal Location As Point, Optional ByVal Absolute As Boolean = True)
        Dim pt As Point = Windows.Forms.Cursor.Position 'Position des Cursors speichern
        Windows.Forms.Cursor.Position = Location
        Dim x As Integer = Location.X * 65535 / Screen.PrimaryScreen.Bounds.Width
        Dim y As Integer = Location.Y * 65535 / Screen.PrimaryScreen.Bounds.Height
        If Absolute = True Then
            mouse_event(MouseEvent Or 32768, x, y, 0, 0)
        Else
            mouse_event(MouseEvent, x, y, 0, 0)
        End If
        Windows.Forms.Cursor.Position = pt
    End Sub
End Class 

Und ein kleines Beispiel:
Class1.Click(Class1.MouseEvent.LeftDown, New Point(MousePosition.X, MousePosition.Y))
Class1.Click(Class1.MouseEvent.LeftUp, New Point(MousePosition.X, MousePosition.Y)) 
 Simuliert einen klick auf die aktuelle Mausposition

Autor: Daniel V. (volte)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super, danke. Hätte eigentlich gemeint, dass es einfacher geht, da ja 
eben z.B. die SendKeys Funktion schon in den älteren Versionen vorhanden 
war....
Aber da du jetz eh die Klasse bereitstellst.... :-) danke nochmal!!

mfg

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.