Hayer Skrevet 24. mai 2007 Skrevet 24. mai 2007 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
aadnk Skrevet 24. mai 2007 Skrevet 24. mai 2007 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).
Hayer Skrevet 24. mai 2007 Forfatter Skrevet 24. mai 2007 Funket etter jeg kalte "Me.Show" før "Call LeftClick".. Takk ; )
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå