Come scrivere uno script AutoHotkey

AutoHotkey è un software fantastico ma complicato. Inizialmente era destinato a riassociare i tasti di scelta rapida personalizzati a diverse azioni, ma ora è una suite di automazione Windows completa.

AHK non è particolarmente difficile da imparare per i nuovi utenti, poiché il concetto generale è abbastanza semplice, ma è un linguaggio di programmazione completo e completo di Turing. Imparerai la sintassi molto più facilmente se hai un background di programmazione o hai familiarità con i concetti.

Installazione e utilizzo di AutoHotkey

Il processo di installazione di AutoHotkey è semplice. Scarica il file installatore dal sito Web ufficiale ed eseguirlo. Scegli “Installazione rapida”. Dopo aver installato il software, è possibile fare clic con il pulsante destro del mouse ovunque e selezionare Nuovo> Script AutoHotkey per creare un nuovo script.

nuovo script autohotkey

Gli script AHK sono file di testo con estensione .ahk. Se fai clic con il pulsante destro del mouse, otterrai alcune opzioni:

“Esegui script” caricherà il tuo script con il runtime AHK.
“Compile Script” lo raggrupperà con un eseguibile AHK per creare un file EXE che puoi eseguire.
“Modifica script” aprirà lo script nell’editor di testo predefinito. Puoi usare Blocco note per scrivere script AHK, ma ti consigliamo di usare SciTE4AutoHotkey, un editor per AHK che supporta l’evidenziazione della sintassi e il debug.

compilare lo script autohotkey

Mentre uno script è in esecuzione, che si tratti di un EXE o meno, lo troverai in esecuzione in background nell’area di notifica di Windows, nota anche come barra delle applicazioni. Cerca l’icona verde con una “H” su di essa.

Per uscire, mettere in pausa, ricaricare o modificare uno script, fare clic con il pulsante destro del mouse sull’icona di notifica e selezionare un’opzione appropriata. Gli script continueranno a essere eseguiti in background fino a quando non li esci. Andranno via anche quando esci da Windows o riavvii il PC, ovviamente.

script autohotkey in esecuzione

Come funziona AutoHotkey?

In sostanza, AHK fa una cosa: associare le azioni ai tasti di scelta rapida. Ci sono molte diverse azioni, combinazioni di tasti di scelta rapida e strutture di controllo, ma tutti gli script funzioneranno secondo lo stesso principio. Ecco uno script AHK di base che avvia Google Chrome ogni volta che premi Windows + C:

#c::
Run Chrome
return

La prima riga definisce un tasto di scelta rapida. Il cancelletto (#) è l’abbreviazione del tasto Windows ec è il tasto C sulla tastiera. Dopodiché, sono presenti due due punti (: 🙂 per indicare l’inizio di un blocco di azioni.

La riga successiva è un’azione. In questo caso, l’azione avvia un’applicazione con il comando Esegui. Il blocco si conclude con un ritorno alla fine. Puoi avere un numero qualsiasi di azioni prima del ritorno. Spareranno tutti in sequenza.

Proprio così, hai definito una semplice mappatura key-to-action. Puoi inserire tutti i tasti che desideri in un file .ahk e impostarlo per l’esecuzione in background, sempre alla ricerca di tasti di scelta rapida da rimappare.

Tasti di scelta rapida e modificatori

Puoi trovare un elenco completo dei modificatori di AHK nella documentazione ufficiale, ma ci concentreremo sulle funzionalità più utili (e interessanti).

I tasti modificatori hanno tutti abbreviazioni di un solo carattere. Per esempio, # ! ^ + sono rispettivamente Windows, Alt, Control e Shift. Puoi anche distinguere tra Alt, Control e Shift sinistro e destro con i modificatori, che apre molto spazio per tasti di scelta rapida extra. Ad esempio, + è Shift di destra. Dai un’occhiata al file elenco delle chiavi per tutto ciò a cui puoi fare riferimento. (Spoiler: puoi fare riferimento a quasi tutti i tasti. Puoi persino fare riferimento ad altri dispositivi di input non da tastiera con estensione piccola estensione).

Puoi combinare tutte le chiavi che desideri in un tasto di scelta rapida, ma presto finirai le combinazioni di tasti da ricordare. È qui che entrano in gioco i modificatori, che ti permettono di fare cose più folli. Analizziamo un esempio dai documenti AHK:

direttive autohotkey

Il #IfWinActive verde è chiamato direttiva e applica un contesto aggiuntivo ai tasti di scelta rapida fisicamente sotto di esso nello script. Qualsiasi tasto di scelta rapida successivo si attiverà solo se la condizione è vera e puoi raggruppare più tasti di scelta rapida sotto un’unica direttiva. Questa direttiva non cambierà finché non si preme un’altra direttiva, ma è possibile reimpostarla con uno spazio vuoto #If (e se sembra un hack, benvenuto in AHK).

La direttiva qui sta controllando se una finestra specifica è aperta, definita da ahk_class Notepad. Quando AHK riceve l’input “Win + C,” attiverà l’azione sotto il primo #IfWinActive solo se la direttiva ha restituito true, quindi controlla la seconda se non lo ha fatto. AHK ha molte direttive e puoi trovarle tutte in i documenti.

AutoHotkey ha anche hotstrings, che funzionano come tasti di scelta rapida tranne che per sostituire un’intera stringa di testo. Questo è simile a come funziona la correzione automatica: in effetti, c’è un file script di correzione automatica per AHK, ma supporta qualsiasi azione AHK.

tasti di scelta rapida automatici

La hotstring corrisponderà alla stringa solo se è stata digitata esattamente. Rimuoverà automaticamente il testo corrispondente per sostituire anche la hotstring, sebbene questo comportamento possa essere regolato.

Azioni

Un’azione in AHK è tutto ciò che ha un effetto esterno sul sistema operativo. AHK ha molte azioni. Non possiamo spiegarli tutti, quindi ne sceglieremo alcuni utili.

Invio di input, sia che si tratti di testo o di varie pressioni di pulsanti.
Spostando il mouse. In effetti, AHK a volte viene erroneamente contrassegnato come software cheat per videogiochi, dal momento che le persone hanno creato degli aimbot completamente funzionanti con esso.
Facendo clic con il mouse, con posizionamento relativo alla finestra corrente.
Visualizzazione dei menu di dialogo, completo di moduli e campi di input.
Spostare le finestre, regolazione delle dimensioni, apertura e chiusura.
Fare musica.
Scrittura nel registro di Windows. Sì davvero.
Modifica del contenuto degli Appunti.
Lettura e scrittura di file. È possibile scorrere i file ed eseguire azioni su ciascuna riga. AHK può persino scrivere su file .ahk e modificare il proprio codice.

La maggior parte di queste azioni avrà anche comandi orientati alle informazioni associati ad esse. Ad esempio, è possibile scrivere negli appunti, ma è anche possibile ottenere il contenuto degli appunti da memorizzare in una variabile ed eseguire funzioni quando gli appunti cambiano.

Legare tutto con strutture di controllo

AHK non sarebbe quello che è senza tutte le strutture di controllo che lo compongono Turing-completo.

Oltre alle direttive #If, hai anche accesso a Se all’interno di blocchi d’azione. AHK ha Per loop, parentesi graffa blocchi, Provare e dichiarazioni Catch e molte altre. È possibile accedere ai dati esterni dall’interno del blocco di azioni e archiviarli in variabili o oggetti da utilizzare in seguito. Puoi definire funzioni personalizzate e etichette. In realtà, qualsiasi cosa tu possa fare facilmente in un altro linguaggio di programmazione, probabilmente puoi farlo in AHK con un po ‘di mal di testa e uno sguardo attraverso i documenti.

Ad esempio, immagina di avere un’attività noiosa e ripetitiva che richiede di fare clic su più pulsanti di seguito e attendere che un server risponda prima di farlo di nuovo all’infinito. Puoi usare AHK per automatizzare questo. Vorresti definire alcuni loop per spostare il mouse in posizioni specifiche, fare clic, quindi passare al punto successivo e fare nuovamente clic. Inserisci alcune dichiarazioni di attesa per non interromperlo. Potresti anche provarci leggere il colore dei pixel sullo schermo per determinare cosa sta succedendo.

Una cosa è certa: la tua sceneggiatura probabilmente non sarà carina. Ma nessuno dei due è AutoHotkey, e va bene.