Een Klik Emuleren

Inhoudsopgave:

Een Klik Emuleren
Een Klik Emuleren

Video: Een Klik Emuleren

Video: Een Klik Emuleren
Video: Dansvideo bij ‘In één klik’ 2024, November
Anonim

Soms vereist het script van een script of programma imitatie van bepaalde gebruikersacties - bijvoorbeeld het indrukken van een toets of klikken met de muis op een element. Dit kan worden gerealiseerd door de ingebouwde middelen van de programmeertaal waarin het programma is geschreven, of door een speciale interface van het besturingssysteem te gebruiken. Een dergelijke interface is bedoeld voor interactie van applicatieprogramma's met systeemprogramma's en wordt API - Application Programming Interfaces genoemd.

Een klik emuleren
Een klik emuleren

instructies:

Stap 1

Zoek uit of de taal die u gebruikt om het programma of script te schrijven ingebouwde toetsaanslagemulatie heeft. In JavaScript wordt bijvoorbeeld de linkermuisknop gesimuleerd met behulp van een methode die is gebonden aan specifieke elementen van de gebruikersinterface. Als u bijvoorbeeld een druk op de linkermuisknop wilt emuleren terwijl de cursor zich boven een knop met de naam autoClkButton bevindt die in een formulier met de naam autoClkForm is geplaatst, moet u de constructie document.autoClkButton.autoClkForm.click () gebruiken. In deze taal hebben niet alleen knoppen (knop, reset, indienen) een klik () eigenschap, maar ook selectie-elementen - selectievakje en radio.

Stap 2

Gebruik de externe keybd_event-functie als de taal die u gebruikt niet de ingebouwde tools heeft die u nodig hebt om alles automatisch te doen. Dit is een Win32 API-functie, dus om ze vanuit uw programma te kunnen openen, moet u een blok aan het begin van uw code plaatsen die de functies van de externe bibliotheek importeert. Dit dient te gebeuren in overeenstemming met de syntax van de gebruikte softwareomgeving. Bijvoorbeeld, in de MQL (MetaQuotes Language) terminal programmeertaal voor aandelenhandel, om functies aan te roepen die in de user32.dll systeembibliotheek zijn geplaatst, moet u de volgende regels aan het begin van de code plaatsen: #import "user32.dll" bool keybd_event (int bVk, int bScan); #import Daarna zal het mogelijk zijn om de keybd_event-functie te gebruiken die in het importblok is gedeclareerd.

Stap 3

Keybd_event heeft vier parameters. De eerste (bVk, datatype BYTE) kan een van de 255 waarden aannemen en geeft de toets aan die gesimuleerd zal worden wanneer erop wordt gedrukt. Ontdek welke van deze waarden is toegewezen aan de sleutel die u nodig hebt op deze pagina - https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx. De tweede parameter (bScan, BYTE-type) is de "scancode" die wordt gegenereerd wanneer de geselecteerde toets wordt ingedrukt. De derde (dwFlags, type DWORD) kan een of beide van de opgegeven waarden aannemen (KEYEVENTF_EXTENDEDKEY en KEYEVENTF_KEYUP). De eerste geeft aan dat er een uitgebreide sleutelcode wordt gegenereerd en de tweede geeft aan dat de knop is ingedrukt en vervolgens is losgelaten. De vierde parameter (dwExtraInfo, type ULONG_PTR) kan extra vlaggen bevatten die specifiek zijn voor elke sleutel.

Aanbevolen: