Czasami skrypt skryptu lub programu wymaga naśladowania niektórych działań użytkownika - na przykład wciśnięcia klawisza lub kliknięcia myszą na elemencie. Można to zrealizować albo za pomocą wbudowanych środków języka programowania, w którym napisano program, albo za pomocą specjalnego interfejsu systemu operacyjnego. Taki interfejs jest przeznaczony do interakcji programów użytkowych z programami systemowymi i nosi nazwę API - Application Programming Interfaces.
Instrukcje
Krok 1
Dowiedz się, czy język, którego używasz do pisania programu lub skryptu, ma wbudowaną emulację klawiszy. Na przykład w JavaScript lewy przycisk myszy jest symulowany przy użyciu metody powiązanej z określonymi elementami interfejsu użytkownika. Na przykład, aby emulować naciśnięcie lewego przycisku myszy, gdy kursor znajduje się nad przyciskiem o nazwie autoClkButton umieszczonym w formularzu o nazwie autoClkForm, należy użyć konstrukcji document.autoClkButton.autoClkForm.click (). W tym języku nie tylko przyciski (przycisk, reset, prześlij) mają właściwość click (), ale także elementy wyboru - checkbox i radio.
Krok 2
Użyj zewnętrznej funkcji keybd_event, jeśli język, którego używasz, nie ma wbudowanych narzędzi, które musisz robić automatycznie. Jest to funkcja API Win32, więc aby mieć do nich dostęp z twojego programu, powinieneś umieścić blok na początku kodu, który importuje funkcje z biblioteki zewnętrznej. Należy to zrobić zgodnie ze składnią używanego środowiska oprogramowania. Np. w terminalowym języku programowania MQL (MetaQuotes Language) przeznaczonym do obrotu giełdowego, aby wywołać funkcje umieszczone w bibliotece systemowej user32.dll należy na początku kodu umieścić następujące wiersze: #import "user32.dll" bool keybd_event (int bVk, int bScan) #import Następnie będzie można skorzystać z funkcji keybd_event zadeklarowanej w bloku importu.
Krok 3
Keybd_event ma cztery parametry. Pierwszy (bVk, typ danych BYTE) może przyjąć jedną z 255 wartości i wskazuje klawisz, który będzie symulowany po naciśnięciu. Dowiedz się, która z tych wartości jest przypisana do potrzebnego klucza na tej stronie - https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx. Drugi parametr (bScan, typ BYTE) to „kod skanowania”, który jest generowany po naciśnięciu wybranego klawisza. Trzecia (dwFlags, typ DWORD) może przyjąć jedną lub obie z podanych wartości (KEYEVENTF_EXTENDEDKEY i KEYEVENTF_KEYUP). Pierwsza wskazuje, że zostanie wygenerowany rozszerzony kod klawisza, a druga wskazuje, że przycisk został naciśnięty, a następnie zwolniony. Czwarty parametr (dwExtraInfo, typ ULONG_PTR) może zawierać dodatkowe flagi specyficzne dla każdego klucza.