Jinsi Ya Kuiga Bonyeza

Orodha ya maudhui:

Jinsi Ya Kuiga Bonyeza
Jinsi Ya Kuiga Bonyeza

Video: Jinsi Ya Kuiga Bonyeza

Video: Jinsi Ya Kuiga Bonyeza
Video: NJIA YA ASILI YA KUPAMBANA NA UGONJWA WA KISUKARI 2024, Aprili
Anonim

Wakati mwingine hati ya hati au programu inahitaji kuiga vitendo kadhaa vya mtumiaji - kwa mfano, kubonyeza kitufe au kubonyeza na panya kwenye kipengee. Hii inaweza kutambuliwa ama kwa njia zilizojengwa za lugha ya programu ambayo programu imeandikwa, au kutumia kiolesura maalum cha mfumo wa uendeshaji. Muunganisho kama huo umekusudiwa kuingiliana kwa programu za programu na programu za mfumo na inaitwa API - Maingiliano ya Programu ya Maombi.

Jinsi ya kuiga bonyeza
Jinsi ya kuiga bonyeza

Maagizo

Hatua ya 1

Tafuta ikiwa lugha unayotumia kuandika programu au hati ina uigaji wa vitufe vya ndani. Kwa mfano, katika JavaScript, kitufe cha kushoto cha panya kimefananishwa kwa kutumia njia ambayo imefungwa kwa vitu maalum vya kiolesura cha mtumiaji. Kwa mfano, kuiga kitufe cha kushoto cha kitufe cha panya wakati mshale uko juu ya kitufe kinachoitwa autoClkButton iliyowekwa katika fomu iitwayo autoClkForm, unahitaji kutumia hati.autoClkButton.autoClkForm.click () kujenga. Katika lugha hii, sio vifungo tu (kitufe, kuweka upya, kuwasilisha) vina bonyeza () mali, lakini pia chagua vitu - kisanduku cha kuangalia na redio.

Hatua ya 2

Tumia kazi ya nje ya keybd_event ikiwa lugha unayotumia haina vifaa vya kujengwa ambavyo unahitaji kufanya kila kitu kiatomati. Hii ni kazi ya Win32 API, ili kuweza kuipata kutoka kwa programu yako, unapaswa kuweka kizuizi mwanzoni mwa nambari yako inayoingiza kazi za maktaba ya nje. Hii inapaswa kufanywa kulingana na sintaksia ya mazingira yaliyotumiwa ya programu. Kwa mfano, katika lugha ya programu ya terminal ya MQL (MetaQuotes Language) kwa biashara ya hisa, ili kupiga kazi zilizowekwa kwenye maktaba ya mfumo wa user32.dll, unapaswa kuweka mistari ifuatayo mwanzoni mwa nambari: #import "user32.dll" bool keybd_event (int bVk, int bScan); #import Baada ya hapo, itawezekana kutumia kazi ya keybd_event iliyotangazwa katika kizuizi cha kuagiza.

Hatua ya 3

Keybd_event ina vigezo vinne. Ya kwanza (bVk, aina ya data BYTE) inaweza kuchukua moja ya maadili 255 na inaonyesha kitufe ambacho kitaigwa wakati wa kubonyeza. Tafuta ni yapi ya maadili haya yamepewa ufunguo unaohitaji kwenye ukurasa huu - https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731 (v=vs.85).aspx. Kigezo cha pili (bScan, BYTE aina) ni "skan code" ambayo hutengenezwa wakati kitufe kilichochaguliwa kinabanwa. Ya tatu (dwFlags, aina ya DWORD) inaweza kuchukua moja au zote mbili za maadili yaliyotolewa (KEYEVENTF_EXTENDEDKEY na KEYEVENTF_KEYUP). Ya kwanza inaonyesha kwamba nambari ya ufunguo iliyopanuliwa itazalishwa, na ya pili inaonyesha kuwa kitufe kilibanwa na kisha kutolewa. Kigezo cha nne (dwExtraInfo, aina ULONG_PTR) kinaweza kuwa na bendera za ziada maalum kwa kila kitufe.

Ilipendekeza: