Miten saisin hiirtä klikattua ohjelman kautta, eli ei fyysisesti? Ja samalla voisitte laittaa hiiren liikutuksen, mutta eri koodissa!
Sub painike_Click () Form_Mousedown End Sub
Hiiren liikutuksen löytää koodivinkeistä, mutta ei erillisenä vinkkinä. Tai ainakin hiirien kordinaattien nimet ja siitä voi sitten muutella. Form_mousedown :iin pitää pistää jotain.
API-kutsuja tarvitaan. Sekä hiiren paikan vaihtaminen että napsauttaminen (ja myös pari muuta juttua) onnistuu mouse_event-aliohjelmalla. Tässä esimerkki:
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 Const MOUSEEVENTF_ABSOLUTE = &H8000
Private Const MOUSEEVENTF_MOVE = &H1
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4
Private Sub Form_Activate()
'siirretään hiiri kohtaan (200, 300)
x = 200 * 65536 / (Screen.Width / Screen.TwipsPerPixelX)
y = 300 * 65536 / (Screen.Height / Screen.TwipsPerPixelY)
mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_MOVE, x, y, 0, 0
'jäljitellään hiiren napsautusta
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
DoEvents
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
End SubHelppo keino pelkästään liikuttaa hiirtä on käyttää SetCursorPos-funktiota.
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Private Sub Form_Activate()
'siirretään hiiri kohtaan (200, 300)
SetCursorPos 200, 300
End SubLisää tietoa:
http://msdn.microsoft.com/library/default.asp?
http://msdn.microsoft.com/library/default.asp?
Kiitos paljon
Aihe on jo aika vanha, joten et voi enää vastata siihen.