Tipp 0268 Mausklick simulieren
Autor/Einsender:
Datum:
  Michael Werner
31.08.2002
Entwicklungsumgebung:   VB 5
Mit 3 API-Funktionen kann man einen Mausklick auf ein Steuerelement (hier ein CommandButton) in der Form simulieren: Mit ClientToScreen holt man den Koordinaten-Punkt vom Control, setzt dann mit SetCursorPos den Cursor auf diesen Punkt und simuliert dann mit mouse_event den Klick.
 
Option Explicit

Private Type typPoint
  X As Long
  Y As Long
End Type

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

Private Declare Function ClientToScreen Lib "user32" _
    (ByVal hWnd As Long, lpPoint As typPoint) As Long

Private Declare Function SetCursorPos Lib "user32" _
    (ByVal X As Long, ByVal Y As Long) As Long

Private Const MOUSEEVENT_LEFTDOWN = &H2
Private Const MOUSEEVENT_LEFTUP = &H4

Private Sub cmdStart_Click()
  ControlClick cmdZiel
End Sub

Private Sub ControlClick(ctrl As Object)
  Dim Punkt As typPoint

  With ctrl.Parent
    Punkt.X = .ScaleX(ctrl.Width, vbTwips, vbPixels) \ 2
    Punkt.Y = .ScaleY(ctrl.Height, vbTwips, vbPixels) \ 2
  End With

  ClientToScreen ctrl.hWnd, Punkt
  SetCursorPos Punkt.X, Punkt.Y

  mouse_event MOUSEEVENT_LEFTDOWN, 0, 0, 0, 0
  mouse_event MOUSEEVENT_LEFTUP, 0, 0, 0, 0
End Sub

Private Sub cmdZiel_Click()
  Label1.Caption = "Ziel-Button wurde geklickt"
End Sub

Private Sub Form_MouseMove(Button As Integer, _
      Shift As Integer, X As Single, Y As Single)
  Label1.Caption = ""
End Sub
 
Weitere Links zum Thema
Position des Maus-Cursors ermitteln
Mausbewegung aufzeichnen und abspielen

Windows-Version
95
98/SE
ME
NT
2000
XP
Vista
Win 7
VB-Version
VBA 5
VBA 6
VB 4/16
VB 4/32
VB 5
VB 6


Download  (2,8 kB) Downloads bisher: [ 2808 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Projekte | Tutorials | API-Referenz | VB-/VBA-Tipps | Komponenten | Bücherecke | VB/VBA-Forum | VB.Net-Forum | DirectX-Forum | Foren-Archiv | DirectX | VB.Net-Tipps | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Mittwoch, 7. September 2011