Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Hiiren klikkaus värin kohdalta

Sivun loppuun

Kulma [10.01.2005 16:33:46]

#

1. Miten saan ohjelman etsimään tietyn värin toisesta ohjelmasta ja klikkaamaan sitä kun on löytänyt sen? Jos niin ei pysty tekemään, niin pystyykö sellasteen, että kun laittaa hiiren tietyn värin päälle ja painaa vaikka entteriä niin ohjelma klikkaa sitä samaa väriä ohjelmasta vaikka joka toinen sekunti timerilla?

2. Niin ja miten saan että ohjelma sulkeutuu kun painaa ESCiä vaikka se ei olisi aktiivinen eli jokin muu ohjelma olisi aktiivinen ja se toimisi?

sooda [10.01.2005 16:49:33]

#

1. riippuu miten se väri on toisessa ohjelmassa. Jos on suoraan ikkunassa kiinni (eikä siinä olevissa kontrolleissa) niin helppoa: GetPixel-winapilla saa pikselin värin siitä tietystä kohdasta. Tarviit vain ikkunan hWnd:n.

Getwindowrect-winapi kertoo ikkunan paikan, GetCursorPos hakee hiiren paikan, ja hiiren position vaihtaminen onnistuu vastaavasti SetCursorPosilla. Mouse_eventilla voi simuloida klikkauksia.

Mitäköhän tarkoitat "värin klikkauksella"... Varmaan että klikkaa hiirellä sitä kohtaa missä väri on.

2. GetAsyncKeyState-winapi.

Käytä hakua oikeilla sanoilla jotka napsit tästä viestistä niin löydät lisää.

Ja käsittääkseni runescapen autominerit ym. on kiellettyjä. Ja runescape on pöhkö peli.

Kulma [10.01.2005 18:28:35]

#

Ei toiminu toi GetAsyncKeyState-winapi.
Kirjotin tälläsen koodin mikä siinä on vikana? Kun painaa ESCiä kursori vaan häviää ja tulee takas:

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyEscape Then
Timer1.Enabled = False
Timer2.Enabled = False
    End If
End Sub

Niin ja miten saan että se hiiri menee tietyn värin kohdalle? Esimerkki koodi, please?

KeKimmo [10.01.2005 18:46:38]

#

Ethän sinä tuon koodin perusteella edes käytä koko GetAsyncKeyStatea!

Kulma [10.01.2005 18:48:57]

#

Aijaaa
Mitenkäs sitä sitten käytetään? Kirjota please joku esimerkki koodi tästä ja tosta ekasta kysymyksestä. Mousedownit ja timerit mä osaan jo.

KeKimmo [10.01.2005 18:54:54]

#

Laitat vaikka timerin tarkistamaan tasaisin väliajoin onko GetAsyncKeyState(vbKeyEscape) jotain muuta kuin false. Tietysti sinun täytyy kutsua samaa funktiota vaikka form_loadissa, koska muuten se tunnistaa ennen ohjelman käynnistystä tapahtuneet painallukset. Pelasin muuten aikoinani Runescapea mutta kyllästyin siihen ja lopetin. Muistan kyllä, että harvinaisempien aineiden kaivuu oli tarpeeksi vaikeaa jo ilman mitään autominer-pellejä.

Blaze [10.01.2005 19:24:42]

#

Nunk kirjoitti:

Mitenkäs sitä sitten käytetään?

Tuota on kysytty aiemmin niin useasti, ettei voi olla löytymättä haulla.

Ja Google toki tietää kaiken.

Kulma [11.01.2005 02:45:43]

#

kimmoke kirjoitti:

Laitat vaikka timerin tarkistamaan tasaisin väliajoin onko GetAsyncKeyState(vbKeyEscape) jotain muuta kuin false. Tietysti sinun täytyy kutsua samaa funktiota vaikka form_loadissa, koska muuten se tunnistaa ennen ohjelman käynnistystä tapahtuneet painallukset. Pelasin muuten aikoinani Runescapea mutta kyllästyin siihen ja lopetin. Muistan kyllä, että harvinaisempien aineiden kaivuu oli tarpeeksi vaikeaa jo ilman mitään autominer-pellejä.

Voitko kirjoittaa edes pienen esimerkki koodin?
Kun mä kokeilin yhtä mikä löyty hausta ohjelma vaan tilttas heti alkuun.

Kulma [11.01.2005 17:37:41]

#

En mä osaa tehdä sellasta, jos kukaan ei voi kirjoittaa edes pientä esimerkki koodia.

Latska [11.01.2005 17:41:51]

#

Nunk kirjoitti:

En mä osaa tehdä sellasta, jos kukaan ei voi kirjoittaa edes pientä esimerkki koodia.

Auts... Sattuu sydämeen... Tämän paikan perimmäinen tarkoitus on auttaa, eikä koodata toisen puolesta. Jos joku tekee tuon, niin tehköön.

Kulma [11.01.2005 18:01:20]

#

No auttakaa sitten.

remontti-reiska [11.01.2005 18:12:11]

#

1. Linkkaat tarvittavan/tarvittavat WinApi kirjaston/kirjastot.

2. Tarkistat GetAsyncKeyState -funktiolla näppäimen tilan vaikka KeyDown -aliohjelmassa

Esim.

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer 'Kirjastosta en tiedä

Private Sub Form_Keydown(parametrit)
if GetAsyncKeyState(näppäin) then
'Härpäkettä
End if
End Sub

Toimivuus ei taattu, mutta näin se muistaakseni C/C++:ssa menee.

Kulma [11.01.2005 19:03:37]

#

Ei toiminu tääkään ei tapahtunu mitään:

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Private Sub Form_Keydown(KeyCode As Integer, Shift As Integer)
If GetAsyncKeyState(vbKeyEscape) Then
Timer1.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Timer4.Enabled = False
Timer5.Enabled = False

End If
End Sub

3. Mitenkäs muuten saan ohjelman painamaan oikeata nuolinäppäintä viide sekunnin ajan?

4. Niin ja tää ei kuuli ohjelmointiin, mutta miten voisin nauhoittaa videon ohjelmasta?

Juice [11.01.2005 19:24:39]

#

Nunk kirjoitti:

4. Niin ja tää ei kuuli ohjelmointiin, mutta miten voisin nauhoittaa videon ohjelmasta?

Frapsilla. http://www.fraps.com

Mulla toimii ainakin seuraava (.NETillä):

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

'Form_KeyDownissa seuraava ehtolause:
If GetAsyncKeyState(&H1B) Then
    MsgBox("Pöö")
End If

Kulma [11.01.2005 19:44:33]

#

Mulla ei oo .NET versio. Pysyytkös sillä muuten tehdä yhtä hyviä ohjelmia kuin VB:llä? Ei varmaan.

rndprogy [11.01.2005 19:59:51]

#

Nunk kirjoitti:

Mulla ei oo .NET versio. Pysyytkös sillä muuten tehdä yhtä hyviä ohjelmia kuin VB:llä? Ei varmaan.

Mistä kummasta niin päättelit?

Juice [11.01.2005 20:00:06]

#

Nunk kirjoitti:

Pysyytkös sillä muuten tehdä yhtä hyviä ohjelmia kuin VB:llä?

Parempia, sitä vartenhan se kehitettiin, sillä on vain huono maine :/

Nunk kirjoitti:

Mulla ei oo .NET versio.

Tiedän kyllä, että käytät jotakin vanhempaa VB:tä, mutta kyllä tuo koodi toimii myös vanhemmissa.

Kulma [11.01.2005 21:10:01]

#

Jaa. Miten tolla Frapsilla nauhoitetaan?

Blaze [11.01.2005 21:26:19]

#

Ohjelman mukana tulee käyttöohjeet. Lue ne.

Edit: tai jos tämä menee paremmin perille: RTFM

Antti Laaksonen [11.01.2005 21:41:06]

#

No jos tarkistuksen panee KeyDown-aliohjelmaan, niin se ei tietenkään hyödytä mitään. Eihän sinne asti päästä, jos ikkuna ei ole aktiivinen. Siksi kannattaa noudattaa kimmoken neuvoa ja liittää koodi Timeriin.

Kulma [12.01.2005 07:40:47]

#

(mod: poistettu puoli tusinaa typerää viestiä)

Kaffir [30.01.2005 17:13:10]

#

Nunk, miks oot tekemäs omaa rs cheating ohjelmaa kun voi käyttää muidenkin tekemiä :D
www.reinet.co.uk
www.rscheatnet.com
www.mstrb.net
jne

Latska [30.01.2005 17:21:35]

#

Kenties siksi, että ne saatetaan huomata helpommin. :)

Grey [30.01.2005 17:25:28]

#

Jaah, botteja RuneScapeen.. Hm.. Olen kyllä joskus tosin harkinnut väsätä AutoFollowin tekoa, joka lähtee seuraamaan satunnaista pelaajaa, toistaen aina vähän väliä: "I am AutoFollower ver. x.xx and i follow you forever!" X-D

-Grey-

Meitsi [30.01.2005 18:30:14]

#

Runescape on huono juuri ärsyttävien autominer noobien takia.

Puhveli [30.01.2005 20:05:27]

#

Runescape on ärsyttävä muuten vaan. Mutta Nunk hei, pistä timerit arrayhin. On huonoa käytöstä kirjoittaa Timer1.Enabled = False: Timer2.Enabled = False: Timer3.Enabled = False jne...

For i = LBound(Taimeri) to UBound(Taimeri): Taimeri(i).Enabled = False: Next

Sivun alkuun

Vastaus

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

Tietoa sivustosta