Het Schrijven van een AutoHotkey Script

0
1226
AutoHotkey

AutoHotkey is een fantastische, maar gecompliceerd stuk software. Het was aanvankelijk de bedoeling om opnieuw binden aangepaste sneltoetsen voor verschillende acties, maar is nu een volledige Windows automation suite.

AHK is niet bijzonder moeilijk om te leren voor nieuwe gebruikers, als het algemene concept is vrij eenvoudig, maar het is een volledige, Turing-complete programmeertaal. U haalt de syntaxis veel makkelijker als u een programmering achtergrond of zijn bekend met de concepten.

Het installeren en Gebruiken van AutoHotkey

AutoHotkey de installatie is eenvoudig. Het installatieprogramma downloaden van de officiële website en voer het uit. Kies “Installatie.” Nadat je de software hebt geïnstalleerd, kunt u klik met de rechtermuisknop en selecteer Nieuw > AutoHotkey Script te maken voor een nieuw script.

AHK-scripts zijn tekstbestanden met een .ahk-extensie. Als u met de rechtermuisknop klikt, krijg je een paar opties:

  • “Run Script” laden van het script met de AHK-runtime.
  • “Compileren van Script” bundel met een AHK uitvoerbaar om een EXE-bestand dat u kunt uitvoeren.
  • “Script bewerken” opent uw script in uw standaard tekst-editor. U kunt gebruik Kladblok om het schrijven AHK-scripts, maar we raden het gebruik van SciTE4AutoHotkey, een editor voor AHK die ondersteunt voor accentuering van de syntaxis en het opsporen van fouten.

Hoewel er een script wordt uitgevoerd, of dit nu een EXE-of niet—je vindt het in de achtergrond draait in het systeemvak van Windows, ook wel bekend als de system tray. Kijk voor de groene pictogram met een “H” op.

Om af te sluiten, pauzeren, opnieuw laden, bewerken of een script met de rechtermuisknop op het icoon in het systeemvak en selecteer een gewenste optie. Scripts worden uitgevoerd op de achtergrond, totdat u bij het afsluiten van hen. Ze gaan ook verwijderd wanneer u zich afmeldt bij Windows of de computer opnieuw opstarten, natuurlijk.

Hoe Werkt AutoHotkey Werk?

In de kern, AHK één ding doet koppelt acties aan de sneltoetsen. Er zijn veel verschillende acties, sneltoetsen, en de controle structuren, maar alle scripts zullen werken op hetzelfde principe. Hier is een basis AHK-script dat start Google Chrome telkens wanneer u op de Windows+C:

#c::
Chrome
terug

De eerste regel definieert een sneltoets. Het hekje (#) is kort voor de Windows-toets en c is de C-toets op het toetsenbord. Na dat, is er een dubbele dubbele punt (::) betekenen de start van een actie blokkeren.

De volgende regel is een actie. In dit geval, de actie lanceert een applicatie met de opdracht Uitvoeren. Het blok wordt afgesloten met een return aan het einde. Je kunt een aantal acties voor de return. Zij zullen allemaal een brand achter elkaar.

Net als dat, u hier op een eenvoudige toets-to-action mapping. U kunt zo veel als u wilt .ahk bestand en zet het op de achtergrond worden uitgevoerd, altijd op zoek naar sneltoetsen aan toewijzen.

Sneltoetsen en Modifiers

U vindt een volledige lijst van de AHK is modifiers in de officiële documentatie, maar we zullen focussen op de meest nuttige (en koel) functies.

Speciale toetsen hebben allemaal één teken shorthands. Bijvoorbeeld, # ! ^ + Windows -, Alt -, Control en Shift, respectievelijk. U kunt ook een onderscheid maken tussen links en rechts Alt, Control en Shift met de < en > toetsen, waardoor er veel ruimte is voor extra sneltoetsen. Bijvoorbeeld:<! is links Alt >+ rechter Shift. Neem een kijkje op de toets lijst voor alles wat u als referentie kunt gebruiken. (Spoiler: U kunt verwijzen naar bijna elke toets. U kunt ook verwijzen naar andere niet-toetsenbord input apparaten met een kleine uitbreiding).

U kunt combineren zoveel toetsen als u wilt in één sneltoets, maar je zult al snel opraken van de toetscombinaties te onthouden. Dit is waar de parameters, die u laten doen gekker dingen, kom in. Laten we breken een voorbeeld van de AHK documenten:

De groene #IfWinActive is wel een richtlijn, en zorgt voor extra context aan sneltoetsen fysiek onder in het script. Een sneltoets na het zal alleen brand als de voorwaarde waar is, en u kunt een groep met meerdere sneltoetsen onder één richtlijn. Deze richtlijn zal niet veranderen totdat je een andere richtlijn, maar u kunt de instellingen met een lege #Als (en als dat lijkt, zoals een hack, welkom bij AHK).

De richtlijn hier is om te controleren of een specifiek venster geopend, gedefinieerd door ahk_class Kladblok. Wanneer AHK ontvangt de ingang “Win+C,” het vuur van de actie in het kader van de eerste #IfWinActive alleen als de richtlijn terug waar is, en controleer vervolgens de tweede als het niet. AHK heeft veel van de richtlijnen, en je kunt het vinden van alle van hen in de documenten.

AutoHotkey heeft ook hotstrings, die functioneren als sneltoetsen met uitzondering van het vervangen van een hele reeks van tekst. Dit is vergelijkbaar met de autocorrectie werkt—in feite, is er een autocorrectie-script voor AHK—maar ondersteunt alle AHK actie.

De hotstring zal overeenkomen met de tekenreeks alleen als het nodig is ingevoerd, precies. Zal het automatisch verwijderen van de overeenkomende tekst te vervangen door de hotstring, ook, hoewel dit gedrag kan worden aangepast.

Acties

Een actie in de AHK is iets dat een extern effect op het besturingssysteem. AHK is een groot aantal acties. We kunnen het niet mogelijk een volledige beschrijving van alle van hen, dus we kiezen uit enkele nuttige degenen.

  • Verzenden van invoer, of het nu tekst of verschillende indrukken van de toets.
  • Het bewegen van de muis rond. In feite, AHK wordt soms ten onrechte aangemerkt als cheat software voor video games, aangezien de mensen hebben een volledig functionerende aimbots.
  • Het klikken met de muis, met de positionering ten opzichte van het huidige venster.
  • Het weergeven van het dialoogvenster menu ‘ s, compleet met formulieren en velden.
  • Bewegende ramen rondom, het aanpassen van de grootte en het openen en sluiten.
  • Het afspelen van muziek.
  • Het schrijven van het Windows Register. Ja, echt.
  • Het wijzigen van de inhoud van het Klembord.
  • Het lezen en schrijven van bestanden. Lus kunt u bestanden en uitvoeren van acties op elke lijn. AHK kunnen schrijven .ahk-bestanden en het aanpassen van de eigen code.

De meeste van deze acties zal ook informatie-georiënteerde opdrachten met hen verbonden. Voor voorbeeld, kunt u schrijven naar het klembord te kopiëren, maar u kunt ook de inhoud van het Klembord op te slaan in een variabele en uitvoeren van functies wanneer het klembord veranderingen.

Tying-Up Met controlestructuren

AHK zou niet zijn wat het is zonder de controle structuren die maken dat het de Turing-compleet is.

In aanvulling op de #Als richtlijnen, ook Indien er op de binnenkant van de actie blokken. AHK heeft Voor lussen, accolade blokken, Try en Catch statements, en vele anderen. U kunt de toegang tot buiten-gegevens in de actie blokkeren, en op te slaan in de variabelen of objecten later te gebruiken. U kunt definiëren aangepaste functies en labels. Echt, alles wat je zou kunnen doen eenvoudig in een andere programmeertaal kun je waarschijnlijk wel in de AHK met een beetje hoofdpijn en een blik door de documenten.

Bijvoorbeeld, stel je voor dat je een saaie, repetitieve taak die u nodig heeft om op meerdere knoppen in een rij en wacht op een antwoord van de server voordat je het opnieuw ad infinitum. U kunt gebruik maken van AHK om dat te automatiseren. U wilt definiëren van een paar lussen om de muis te verplaatsen naar specifieke locaties, en vervolgens naar de volgende plek en probeer het opnieuw. Gooi het in een paar wachten instructies om het niet breken. Je zou zelfs kunnen proberen om te lezen van de kleur van de pixels op het scherm om te bepalen wat er gebeurt.

Één ding is zeker: uw script zal waarschijnlijk niet behoorlijk. Maar geen van beide is AutoHotkey, en dat is goed.