Як емулювати натискання


 

Іноді сценарій роботи скрипта або програми вимагає імітації деяких дій користувача — наприклад, натискання клавіші або клацання мишею по якому-небудь елементу. Реалізувати це можна або вбудованими засобами тієї мови програмування, на якому пишеться програма, або з використанням спеціального інтерфейсу операційної системи. Такий інтерфейс призначений для взаємодії прикладних програм із системними і називається API — Application Programming Interfaces.



Інструкція

  1. З’ясуйте, чи передбачені у використовуваному для написання програми або скрипта мовою вбудовані засоби емуляції натискання клавіші. Наприклад, у мові JavaScript натискання лівої кнопки миші імітується за допомогою методу, прив’язаного до конкретних елементів інтерфейсу користувача. Скажімо, щоб емулювати натискання лівої клавіші миші при знаходженні курсору над кнопкою з ім’ям autoClkButton, вміщеній у форму з ім’ям autoClkForm, треба використовувати конструкцію document.autoClkButton.autoClkForm.click (). У цій мові властивість click () мають не тільки кнопки (button, reset, submit), але й елементи вибору — checkbox і radio.
  2. Задійте зовнішню функцію keybd_event, якщо у використовуваному мові немає потрібних вам вбудованих засобів, які роблять все необхідне автоматично. Це функція Win32 API, тому щоб мати можливість з програми звертатися до них, вам слід помістити на початку коду блок, що імпортує функції зовнішньої бібліотеки. Зробити це слід відповідно до синтаксисом використовуваної програмного середовища. Наприклад, у мові програмування терміналів для біржової торгівлі MQL (MetaQuotes Language) для виконання функцій, поміщених в системну бібліотеку user32.dll на початку коду слід помістити такі рядки:

    # import «user32.dll»
    bool keybd_event (int bVk, int bScan);
    # Import

    Після цього стане можливим використання оголошеної в блоці імпортування функції keybd_event.
        


  3. Keybd_event має чотири параметри. Перший (bVk, тип даних BYTE) може приймати одне з 255 значень і вказує на клавішу, натискання якої буде імітуватися. Яке з цих значень значення присвоєно потрібної вам клавіші подальші на цій сторінці —