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.
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.
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?
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.
Moikka JussiR!
neau33 kirjoitti:
Moikka JussiR!
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?
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
Runescape makroako sitä tehdään? :D
Tein macron scriptaus ohjelman. Voihan sitä käyttää runeenkin jos tykkää.
Aihe on jo aika vanha, joten et voi enää vastata siihen.