Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: [VB] Ohjelma painamaan nuolinäppäimiä

Sivun loppuun

JussiR [20.01.2007 20:24:34]

#

Miten saisin että mun ohjelma painaisi vasenta tai muita nuolinäppäimiä vaikka 0,1 sekuntia pohjassa?
"SendKeys {LEFT}" ei käy siihen mihin tarvitsen.

Antti Laaksonen [20.01.2007 20:37:26]

#

WinAPIn funktio keybd_event voisi tulla kysymykseen. Tämän funktion avulla voi erikseen ilmoittaa, että näppäin painetaan alas tai nostetaan ylös. Väliin pitää lisätä enää koodi, joka odottaa 0,1 sekuntia.

JussiR [20.01.2007 23:35:02]

#

Mistä te muuten repäsette kaikki Private Declare Functionit? Mistä tiedän missä .dll:ssä on toi keybd_event? Lukeeko ne jossain?
Tuon odotuskoodin osaan, mulla on siihen WaitMS funktio, mutta mitenkäs toi että näppäin painetaan alas ja päinvastoin?

Metabolix [20.01.2007 23:43:06]

#

JussiR kirjoitti:

Mistä te muuten repäsette kaikki Private Declare Functionit? Mistä tiedän missä .dll:ssä on toi keybd_event? Lukeeko ne jossain?

Esimerkiksi Windowsin C- ja muidenkin kääntäjien otsikkotiedostoissa on listat WinAPIn funktioista (kyseisen kielen määrittelyinä tietenkin), ja nämä saa melko vaivatta VB:llekin säädettyä. MSDN:ssä ovat funktioiden C-kieliset määrittelyt, muut tarvittavat tiedot ja usein esimerkkejäkin.

Tuosta mainitusta keybd_event-funktiosta on jo täälläkin ties kuinka paljon asiaa, joten haku auttaa sen kanssa.

neau33 [20.01.2007 23:55:07]

#

Moikka JussiR!

Imppaa API Viewer 2004

JussiR [21.01.2007 10:00:07]

#

neau33 kirjoitti:

Moikka JussiR!

Imppaa API Viewer 2004

Kiitos. Mulla olis joskus joku ton tyylinen, mutta hukkasin sen.

Mä googletin vähän ja sain tehtyä tälläsen:

Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP As Long = &H2
Private Const vk_up As Long = &H26
Sub UpArrow()
keybd_event &H26, 0, KEYEVENTF_KEYUP, 0

End Sub
Tuo ilmeisesti painaa ylänuolinäppäimen pohjaan. Kuinkas saan ohjelman ottamaan sen pois pohjasta?

JussiR [21.01.2007 11:18:18]

#

En pystynyt muokkaamaan edellistä viestiä joten sain näin toimimaan:

Sub CameraLeft(time, time2 As Long)
keybd_event &H25, 0, 0, 0
RandWait time, time2
keybd_event &H25, 0, KEYEVENTF_KEYUP, 0
End Sub

Quirzo [21.01.2007 13:44:48]

#

Runescape makroako sitä tehdään? :D

JussiR [21.01.2007 16:28:19]

#

Tein macron scriptaus ohjelman. Voihan sitä käyttää runeenkin jos tykkää.


Sivun alkuun

Vastaus

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

Tietoa sivustosta