Kaip Imituoti Paspaudimą

Turinys:

Kaip Imituoti Paspaudimą
Kaip Imituoti Paspaudimą

Video: Kaip Imituoti Paspaudimą

Video: Kaip Imituoti Paspaudimą
Video: bukite kantrus ir laukite naujo video 2024, Balandis
Anonim

Kartais scenarijaus ar programos scenarijui reikia imituoti kai kuriuos vartotojo veiksmus, pavyzdžiui, paspaudus klavišą arba spustelėjus pele elementą. Tai galima realizuoti naudojant įmontuotas programavimo kalbos priemones, kuriomis parašyta programa, arba naudojant specialią operacinės sistemos sąsają. Tokia sąsaja yra skirta programų programų sąveikai su sistemos programomis ir vadinama API - Application Programming Interface.

Kaip imituoti paspaudimą
Kaip imituoti paspaudimą

Nurodymai

1 žingsnis

Sužinokite, ar kalboje, kurią naudojate rašydami programą ar scenarijų, yra integruota klavišų emuliacija. Pavyzdžiui, naudojant „JavaScript“kairysis pelės mygtukas imituojamas naudojant metodą, susietą su konkrečiais vartotojo sąsajos elementais. Pvz., Norint imituoti kairįjį pelės klavišo paspaudimą, kai žymeklis yra virš mygtuko, pavadinto autoClkButton, įdėtu į formą, pavadintą autoClkForm, turite naudoti konstruktą document.autoClkButton.autoClkForm.click (). Šia kalba ne tik mygtukai (mygtukas, atstatymas, pateikimas) turi savybę paspausti (), bet ir elementai - žymimasis laukelis ir radijas.

2 žingsnis

Naudokite išorinę „keybd_event“funkciją, jei naudojamoje kalboje nėra integruotų įrankių, kuriuos turite atlikti viską automatiškai. Tai yra „Win32“API funkcija, todėl norėdami prieiti prie jų iš savo programos, savo kodo pradžioje turėtumėte įdėti bloką, kuris importuoja išorinės bibliotekos funkcijas. Tai turėtų būti daroma pagal naudojamos programinės įrangos aplinkos sintaksę. Pvz., MQL (MetaQuotes Language) terminalo programavimo kalboje, skirtoje prekybai akcijomis, norint iškviesti funkcijas, įdėtas į user32.dll sistemos biblioteką, kodo pradžioje turėtumėte įdėti šias eilutes: #import "user32.dll" talpa keybd_event (int bVk, int bScan); #import Po to bus galima naudoti importo bloke deklaruotą funkciją keybd_event.

3 žingsnis

Keybd_event turi keturis parametrus. Pirmasis (bVk, duomenų tipas BYTE) gali turėti vieną iš 255 reikšmių ir nurodo klavišą, kuris bus imituojamas paspaudus. Sužinokite, kuri iš šių reikšmių yra priskirta jums reikalingam raktui, šiame puslapyje - https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx. Antrasis parametras („bScan“, „BYTE“tipas) yra „nuskaitymo kodas“, kuris sugeneruojamas paspaudus pasirinktą klavišą. Trečioji („dwFlags“, tipas DWORD) gali turėti vieną arba abi pateiktas reikšmes (KEYEVENTF_EXTENDEDKEY ir KEYEVENTF_KEYUP). Pirmasis rodo, kad bus sukurtas išplėstinis rakto kodas, o antrasis rodo, kad mygtukas buvo paspaustas ir tada atleistas. Ketvirtame parametre („dwExtraInfo“, tipas ULONG_PTR) gali būti papildomų žymių, būdingų kiekvienam klavišui.

Rekomenduojamas: