Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Auto Clicker VB6

Sivun loppuun

Thugcln [12.01.2006 20:17:38]

#

Miten semmonen vaikka, että rullan painauksesta painaa 5 kertaa left clikiä ? Olisi kiva tietää, että oppisin tämänkin. Olen jo muutaman kerran yritellyt ja lueskellut, mutta oli lopulta pakko kysyä vähän paremmilta koodaajilta :D

hunajavohveli [12.01.2006 20:23:43]

#

http://pp.kpnet.fi/blaze/codefaq/#simulatemouse

Thugcln [12.01.2006 20:57:56]

#

Tämä ei jotenkin taida toimia, koitin ainankin pastettaa moneen paikkaan :|

Private Declare Function SetCursorPos Lib "user32.dll" _
(ByVal x As Long, ByVal y As Long) As Long
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 LiikutaJaKlikkaa(x As Long, y As Long)
	'Liikutetaan hiiri koordinaatteihin
	Call SetCursorPos(x, y)
	'Klikataan hiirellä
	Call mouse_event(MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0&, 0&, 0&, 0&)
End Sub

Metabolix [12.01.2006 21:00:49]

#

Varmaankin sitä funktiota pitäisi myös kutsua.

Thugcln [12.01.2006 21:17:29]

#

How ? :D

Metabolix [12.01.2006 21:24:28]

#

Damn, yritä nyt jo vähitellen lukea sitä opasta oikein ajatuksella.

Thugcln [12.01.2006 21:45:49]

#

No ois kiva ku joku länttäis koodia et painaa rullaa niin 5 kertaa leftclick ees vinkkiä xD

tkarkkainen [12.01.2006 21:49:37]

#

Ois varmasti. Mutta mitä hyötyä siitä olisi sinun ohjelmointiharrastuksesi kannalta?

Metabolix [12.01.2006 22:05:13]

#

Laitat rullanpainalluseventtiin koodin, jossa kutsut tuota klikkausfunktiota viisi kertaa.

Thugcln [12.01.2006 22:16:30]

#

Kaikki muut on tiedossa paitsi rullauseventin pätkä veikkaan vb6mouse3, mutta ei tainnut mennä oikein :D

Blaze [12.01.2006 22:20:06]

#

Veikkaus on huono lähtökohta ohjelmointiin. Jos tosiaan et oikeasti tiedä, miten funktiota kutsutaan, niin mene opiskelemaan jotain, kunnes tiedät.

Vastoin yleistä käsitystä, ohjelmointi ei ole copypasteamista.

miiro [15.01.2006 18:34:38]

#

Getasynckeystate:lla saa katsottua myös, onko hiiren keskinappi pohjassa. Aiheesta lisää löytyy ihan putkan haulla.

Kulma [18.01.2006 16:40:30]

#

Täältä löytyy varmaan neuvoa:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/getasynckeystate.asp

Kulma [22.01.2006 16:21:11]

#

Tässä on sulle koodi, mutta tämä toimii kun hiiren keskimmäistä nappulaa klikkaa. En tiedä miten saisi toimimaan rullauksesta.

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 GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Long
Private Const VK_MBUTTON As Long = &H4
Private Const MOUSEEVENTF_LEFTDOWN As Long = &H2
Private Const MOUSEEVENTF_LEFTUP As Long = &H4

Dim counter As Integer
Private Sub Form_Load()
counter = 0
Timer1.Enabled = True
Timer1.Interval = 50
Timer2.Enabled = False
Timer2.Interval = 100
Timer3.Enabled = False
Timer3.Interval = 1
End Sub

Private Sub Timer1_Timer()
If GetAsyncKeyState(VK_MBUTTON) Then
Timer2.Enabled = True
Else
Timer2.Enabled = False
counter = 0
End If
End Sub

Private Sub Timer2_Timer()
If counter = 5 Then
counter = 0
Timer2.Enabled = False
Timer3.Enabled = False
Else
Timer3.Enabled = True
counter = counter + 1
End If
End Sub
Private Sub Timer3_Timer()
Call mouse_event(MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0&, 0&, 0&, 0&)
Timer3.Enabled = False
End Sub

Meitsi [22.01.2006 18:29:31]

#

...ja kohta tullaan hieman muutellun koodin kanssa kyselemää että "miksei toimi?+". Valmiin koodin vika on juuri tämä.

Kulma [23.01.2006 16:23:30]

#

Meitsi kirjoitti:

...ja kohta tullaan hieman muutellun koodin kanssa kyselemää että "miksei toimi?+". Valmiin koodin vika on juuri tämä.

Niin..
Mutta toi toimii.. Ainakin mulla.

hunajavohveli [23.01.2006 16:42:40]

#

No tottahan se toimii, jos sitä osaa käyttää, mutta jos tuon koodin menee laittamaan vaikka moduuliin, niin sittenpä ei taidakaan enää toimia. :)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta