Gå til innhold

Anbefalte innlegg

Skrevet

Hei!

Her er koden min for å simulerer et mouseclick

Option Explicit
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long

Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dX As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Private Const LEFT_DOWN = &H2
Private Const LEFT_UP = &H4

Private Type POINTAPI
   x As Long
   y As Long
End Type

Dim POINT_API As POINTAPI

Dim x As Long, y As Long, Z As Long, A As Long

Private Sub LeftClick()
   mouse_event LEFT_DOWN, 0&, 0&, x, y
   mouse_event LEFT_UP, 0&, 0&, x, y
End Sub

Private Function GetMousePosX() As Long
   Z = GetCursorPos(POINT_API)
   GetMousePosX = POINT_API.x
End Function

Private Function GetMousePosY() As Long
   Z = GetCursorPos(POINT_API)
   GetMousePosY = POINT_API.y
End Function

Private Function GetKeyState(Key As Integer) As Boolean
   GetKeyState = CBool(GetAsyncKeyState(Key))
End Function


Private Sub Command1_Click()
MsgBox ("Du trykket knappen!")
End Sub

Private Sub Form_Load()
Static Sant As Boolean
Dim pp As POINTAPI
'Flytter først musen til rett posisjon å deretter simulerer mouse_click
''FLYTTER MUS'A
pp.x = 350
pp.y = 350
SetCursorPos pp.x, pp.y
''SIMULERER MUSEKLIKKET
Call LeftClick
End Sub

 

Det funger helt fint hvis jeg test kjører det i vb, men hvis jeg lager en .exe å kjører det funger ikke mouseclick'et

Videoannonse
Annonse
Skrevet

Kjør prosedyren Me.Show før du kaller LeftClick. I tillegg kan dette nok skyldes ulik plassering av formen i IDE og i kompilert form. Du burde finne lokalisasjonen til kommandoknappen ved å bruke eksempelvis GetWindowPlacement, eller evt. kjøre kommandoknappen på en annen måte (SendMessage).

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...