Niin VB 2008 expressistä oli kyse
Eli ongelma on että en osaa tehdä formiani painamaan hiirtä automaattisesti.
Syötät haluttavat koordinaatit, hiiri menee siihen ja painaa.
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim xy1 As New System.Drawing.Point
xy1.X = Label1.Text
xy1.Y = Label2.Text
Cursor.Position = xy1
'Tähän kohtaan tulisi mouseclick tjsp..
end subMiten saan tehtyä?
Private Declare Sub mouse_event Lib "user32" Alias "mouse_event" _
(ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, _
ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Private Const MOUSEEVENTF_LEFTDOWN As Long = &H2
Private Const MOUSEEVENTF_LEFTUP As Long = &H4
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim xy1 As New System.Drawing.Point
xy1.X = Label1.Text
xy1.Y = Label2.Text
Cursor.Position = xy1
Call mouse_event(MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0&, 0&, 0&, 0&)
end subMilläs saan sen sitte rightclikkaamaan
Hyvin toiminu tähä asti
Moikka filthy!
lisää määrittelyihin...
Private Const MOUSEEVENTF_RIGHTDOWN = &H8 Private Const MOUSEEVENTF_RIGHTUP = &H10
ja syötä parametreinä mouse_event funktiolle
Public 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)
Public Const MOUSEEVENTF_LEFTUP = &H4
Public Const MOUSEEVENTF_LEFTDOWN = &H2
Public Const MOUSEEVENTF_RIGHTDOWN = &H8
Public Const MOUSEEVENTF_RIGHTUP = &H10
Public Const MOUSEEVENTF_MIDDLEDOWN = &H20 ' middle button down
Public Const MOUSEEVENTF_MIDDLEUP = &H40 ' middle button up
Public Sub LeftDown()
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
End Sub
Public Sub LeftUp()
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
End Sub
Public Sub RightDown()
mouse_event MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0
End Sub
Public Sub RightUp()
mouse_event MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0
End Sub
Public Sub MiddleDown()
mouse_event MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0
End Sub
Public Sub MiddleUp()
mouse_event MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0
End SubEDIT: jaa vb express.. tää on VB6:seen, mutta saattaa toimia
Joo-o toimii mukavasti.
Yksi homma jäi kyllä harmittamaan.
Tuo formi tekee homman niin nopeasti, että jos haluan painaa rightiä (yleensä tulee valikko) valita sieltä jotai leftillä nii valikko ei oo ees kerenny tulla ku tuo left click on jo tehty.
Eli oisko jotn hidastusta tehtävien välille koska timerillä tuota ei oikein onnistumaan saa..
Threading.Thread.Sleep(aika millisekunteina)
Itse en suosittele Sleepiä, koska ainakin VB6:ssa se pysäyttää koko ohjelman sen ajaksi eli ei se vailkko kerkeä silti tulla (veikkaan).
Mutta kokeile tätä (VB6 koodia taas, mutta silti..)
Private Declare Function timeGetTime Lib "winmm.dll" () As Long Public Function WaitMS(TimeOut As Long) Dim TimeNow As Long TimeNow = timeGetTime() Do DoEvents Loop While TimeNow + TimeOut > timeGetTime() End Function
Toimi kyllä tuo sleep ihan niin kuin sen pitääkin
Aihe on jo aika vanha, joten et voi enää vastata siihen.