Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Hiiren napautus automaattisesti tietyn väliajoin?

Sivun loppuun

SQ [13.06.2004 01:47:06]

#

Haluaisin semmosen että hiiri näpäyttää tiettyä kohtaa ruudulta aina tietyn väliajoin. Miten tämmönen onnistuis?

Blaze [13.06.2004 02:09:59]

#

http://www.mentalis.org/apilist/mouse_event.shtml

tuomas [13.06.2004 11:07:00]

#

näinhän tuo onnistuu:

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)
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Private Sub Timer_Timer1()
       SetCursorPos 10, 10 'kohta jota klikataan
       mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0&, 0&, button, dwno
       DoEvents
End Sub

Formille yksi timeri ja intervaliksi se aika jonka välein haluat hiiren klikkaavan.

SQ [14.06.2004 21:31:58]

#

Siirtääkö tää hiiren tohon kohtaa mihin klikkaa vai klikkaako se silleen ettei se siirrä hiiirtä ?

Puhveli [14.06.2004 21:37:05]

#

tuota... eikös tuo mouse_event 2 Or 4, 0&, 0&, button, down ole sama asia..? kun käsittääkseni heksaluvuissa alle kymmenet tarkottaa samaa kuin kymmenjärjestelmän luvut eli &H6 = 6, vai onko?
edit: anteeksi offtopic :)

SQ [14.06.2004 21:39:45]

#

ja klikkaako toi formin ulkopuolelle toi minkä toi tuomas anto?

entäs miten saan selville hiiren sijainnin, mihin sen pitäs klikata?

Gaxx [14.06.2004 21:46:18]

#

SQ kirjoitti:

ja klikkaako toi formin ulkopuolelle toi minkä toi tuomas anto?

Kyllä klikkaa.

SQ kirjoitti:

entäs miten saan selville hiiren sijainnin, mihin sen pitäs klikata?

Onko tuo nyt olevinaan jokin kysymys johon joku muu voisi antaa vastaukse? Mistä esimerkiksi minä voisin tietää mihin sinä haluat sen hiiren klikkaavan. Selvennäppä hieman :)

tuomas [14.06.2004 21:48:55]

#

katsoppas tuota kohtaa tarkemmin:
SetCursorPos 10, 10 'kohta jota klikataan

nuo luvut ovat kordinaatit joita ohjelmasi klikkaa.

SQ [14.06.2004 21:51:53]

#

niin. haluaisi klikata aina tiettyä linkkiä selaimessa noin 5 sekunnin välein. älkää kysykö miksi.

siis haluan tietää missä kohtaa se hiiri on kun se on linkin päällä.

Gaxx [14.06.2004 21:56:06]

#

Siis haluatko saada tietoon kyseisen hetken hiiren sijainnin vaiko linkin sijainnin?

SQ [14.06.2004 22:03:11]

#

hiiren sijainnin, joten sitte tolla koodilla voin klikata sitä aina hiirellä tietyn väliajoin. ja se sivu on frameilla joten linkin paikka ei varmasti muutu.

Gaxx [14.06.2004 22:07:20]

#

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

Type POINTAPI
   x As Long
   y As Long
End Type

Dim cursor As POINTAPI

GetCursorPos cursor 'Hakee hiiren sijainnin cursor muuttujaan

Koodivinkeistä olisi kyllä löytynyt kaikki, mitä tässä viestiketjussa olet kysynyt. Muistappa ensikerralla :)

Edit: Epäs, tuota hiiren nappien painamista ei löydy(mouse_event).

tuomas [14.06.2004 22:39:24]

#

Pitäisiköhän lisätä?
Tosin tuo koodi on alunperin jonkun muun putkalaisen joten en itse viitsi lähettää sitä.

SQ [14.06.2004 23:05:05]

#

j00, tuo tuomaksen napinpainalus jutska ei toimi. joku voisi antaa uuden koodin.

tuomas [14.06.2004 23:15:20]

#

Kyllä sen pitäisi toimia erittäin hyvin.
Koodissa ei ole mitään vikaa (ainakaan en itse huomaa), joten vika löytyy oletettavasti joko sinun koodistasi.
Mitäköhän visual basicin versiota mahdat käyttää (toimii minulla vb6:ssa)?

SQ [14.06.2004 23:42:14]

#

vb 6 käytän. Siirtääkö toi koodi hiiren tohon kohdalle ja klikkaa?

tuomas [14.06.2004 23:50:05]

#

Kyllä.
Laita toi koodi

SetCursorPos 10, 10 'kohta jota klikataan
      mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0&, 0&, button, dwno
      DoEvents

timeriin ja intervaliksi vaikka 1000(1 sekunti) niin se siirtää hiiren annettuihin kordinaatteihin ja klikkaa kohtaa.
Muu koodi general declarationsiin.

SQ [15.06.2004 00:38:23]

#

joo toimii, kiitos


Sivun alkuun

Vastaus

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

Tietoa sivustosta