Ba'zan skript yoki dastur stsenariysi ba'zi bir foydalanuvchi harakatlariga taqlid qilishni talab qiladi - masalan, tugmachani bosish yoki element ustiga sichqoncha bilan bosish. Buni dastur yozilgan dasturlash tilining ichki vositalari yoki operatsion tizimning maxsus interfeysi yordamida amalga oshirish mumkin. Bunday interfeys amaliy dasturlarning tizim dasturlari bilan o'zaro aloqasi uchun mo'ljallangan va API - Application Programming Interfaces deb nomlanadi.
Ko'rsatmalar
1-qadam
Dasturni yoki skriptni yozish uchun foydalanayotgan tilingizda o'rnatilgan klaviatura emulyatsiyasi mavjudligini aniqlang. Masalan, JavaScript-da sichqonchaning chap tugmasi foydalanuvchi interfeysining ma'lum elementlariga bog'langan usul yordamida simulyatsiya qilinadi. Masalan, sichqonchaning chap tugmachasini taqlid qilish uchun kursor autoClkForm nomli shaklga joylashtirilgan autoClkButton tugmachasi ustida turgan paytda bosing, document.autoClkButton.autoClkForm.click () construct-dan foydalanishingiz kerak. Ushbu tilda faqat tugmalar (tugma, tiklash, yuborish) click () xususiyatiga ega emas, balki elementlarni ham belgilaydi - tasdiqlash qutisi va radio.
2-qadam
Agar siz foydalanadigan tilda hamma narsani avtomatik ravishda bajarishingiz kerak bo'lgan ichki vositalar bo'lmasa, tashqi keybd_event funktsiyasidan foydalaning. Bu Win32 API funktsiyasi, shuning uchun ularga o'zingizning dasturingizdan kirish uchun siz kodning boshida tashqi kutubxona funktsiyalarini import qiladigan blok qo'yishingiz kerak. Bu ishlatilgan dasturiy ta'minot muhiti sintaksisiga muvofiq amalga oshirilishi kerak. Masalan, user32.dll tizim kutubxonasida joylashgan funktsiyalarni chaqirish uchun aktsiyalarni savdo qilish uchun MQL (MetaQuotes Language) terminal dasturlash tilida quyidagi satrlarni joylashtirishingiz kerak: #import "user32.dll" bool keybd_event (int bVk, int bScan); #import Shundan so'ng, import blokida e'lon qilingan keybd_event funktsiyasidan foydalanish mumkin bo'ladi.
3-qadam
Keybd_event to'rt parametrga ega. Birinchisi (bVk, ma'lumotlar turi BYTE) 255 qiymatdan birini olishi mumkin va bosilganda simulyatsiya qilinadigan kalitni ko'rsatadi. Ushbu qiymatlardan qaysi biri sizga ushbu sahifada kerakli kalitga tayinlanganligini bilib oling - https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx. Ikkinchi parametr (bScan, BYTE turi) - tanlangan tugmachani bosganda hosil bo'ladigan "skanerlash kodi". Uchinchisi (dwFlags, DWORD turi) berilgan qiymatlardan birini yoki ikkalasini olishi mumkin (KEYEVENTF_EXTENDEDKEY va KEYEVENTF_KEYUP). Birinchisi kengaytirilgan kalit kodi hosil bo'lishini bildiradi, ikkinchisi esa tugma bosilib, keyin qo'yib yuborilganligini bildiradi. To'rtinchi parametr (dwExtraInfo, ULONG_PTR turi) har bir tugmachaga xos qo'shimcha bayroqlarni o'z ichiga olishi mumkin.