Come utilizzare AutoHotkey per automatizzare qualsiasi cosa in Windows

AutoHotkey non è estraneo a Make Tech Easier, ma in passato ne abbiamo parlato principalmente. Il fatto è che AutoHotkey non è (solo) una piattaforma per eseguire script realizzati da qualcun altro; è principalmente un linguaggio di scripting che ti consente di creare le tue soluzioni per le tue esigenze particolari e di automatizzare tutto ciò che fai sul desktop di Windows. Coprirne le funzionalità complete richiederebbe una serie di libri poiché AutoHotkey si è evoluto in un linguaggio di programmazione completo e ora ti consente persino di creare app con esso.

Per questo tutorial, inizieremo con le nozioni di base che ti consentiranno di trasformare qualsiasi processo in più fasi in un'unica pressione di un tasto.

Installazione

Scarica e installa AutoHotkeydal suo sito ufficiale. Scegli la versione corrente. Ignora le altre due opzioni: "V2" è una nuova versione, incompatibile con gli script esistenti e con una sintassi leggermente diversa, mentre "V1.0 Deprecated" è vecchia e limitata.

Crea uno script vuoto

Dopo la sua installazione, AutoHotkey sarà registrata come app predefinita per i file con estensione AHK. Ecco perché funzionano come eseguibili: AutoHotkey li analizza in tempo reale ed esegue i loro contenuti. In realtà, però, i file AHK sono script che puoi aprire in qualsiasi editor di testo.

Crea una nuova cartella per il tuo primo script AutoHotkey ovunque desideri, inseriscila, fai clic con il pulsante destro del mouse e crea un "Nuovo -> Script AutoHotkey" dalla nuova opzione nel menu di scelta rapida. Dategli il nome che desiderate.

Leggi anche:

Scegli come modificherai i tuoi script

Invece di fare doppio clic sul file AHK che hai creato come faresti per eseguire uno script predefinito, fai clic con il pulsante destro del mouse su di esso e seleziona Modifica. Puoi modificare i file AHK in qualsiasi editor di testo, ma poiché lo scripting è una versione leggera della programmazione, è meglio se usi un programma creato per quello scopo. Va bene qualsiasi cosa, da Atom a Sublime Text o VS Code. Se non hai installato nessuno di questi strumenti e poiché i tuoi primi script saranno semplici, puoi anche utilizzare il Blocco note di Windows.

Per coloro che se lo chiedono, personalmente utilizzo tutti questi strumenti per altri scopi (come HTML, CSS e alcuni JS, PHP e Python molto basilari), ma per modificare gli script AHK mi ritrovo a tornare al popolare Notepad++.

Scegli come target app o finestre specifiche

Prima di iniziare, diamo un'occhiata al programma per il quale desideriamo creare uno script.

Puoi creare script globali in AutoHotkey che funzioneranno ovunque, in ogni app e sul desktop di Windows, ma puoi anche scegliere come target le app. Ciò ti consente, ad esempio, di avere la stessa scorciatoia che fa cose diverse in due programmi diversi.

Il tuo script sarà precompilato con alcune impostazioni di base. Non modificarli: digita dopo quelli. Premi Invio una o due volte.

Inserisci questo nel tuo script:

#IfWinActive ahk_class Notepad

#if

Questo dice ad AutoHotkey che tutto ciò che segue "IfWinActive" dovrebbe funzionare solo in una finestra con una classe Blocco note (ahk_class Notepad). IL#Ifafter chiude la sezione in modo che tutto ciò che segue non sia limitato alle finestre con una classe Blocco note.

Ti presentiamo Window Spy

Esegui lo script vuoto per far apparire l'icona AHK nella barra delle applicazioni di Windows. Fai clic destro su di esso e scegli Window Spy dal menu che appare. Ora, ogni volta che fai clic su qualsiasi altra finestra, Window Spy di AutoHotkey ti presenterà le informazioni a riguardo.

Nella parte superiore sarai in grado di vedere i diversi modi in cui puoi sceglierlo come target in base al titolo, alla classe e all'eseguibile. Se utilizzi Firefox e, con Window Spy sullo schermo, fai clic sulla sua finestra. Vedrai che il suo eseguibile è "firefox.exe". Rivedi il tuo script scambiando il riferimento al Blocco note con#IfWinActive ahk_exe firefox.exe. Potresti prendere di mira qualsiasi altra finestra allo stesso modo: usa Window Spy per indagare sul suo titolo, classe o eseguibile e prenderne di mira qualcuno. Leggi di più a riguardoQui. La versione breve è:

  • Puoi scegliere come target le finestre in base al titolo utilizzando#IfWinActiveaccompagnato dal titolo.
  • Puoi scegliere come target Windows in base alla loro classe utilizzando#IfWinActive ahk_class, seguito dalla classe riconosciuta da Window Spy.
  • Puoi scegliere come target i programmi in base al loro eseguibile con#IfWinActive ahk_exee il nome del file dell'eseguibile. Tieni presente che in questo modo sceglierai come target tutte le finestre del programma e non una specifica.

Controlla le coordinate del mouse

Con Window Spy attivo, rivolgi la tua attenzione al gruppo di variabili “Posizione del mouse”. Quelli ti mostrano la posizione esatta del mouse.

  • Assoluto mostra la posizione in relazione alla risoluzione dell'intero schermo.
  • Relativo mostra la posizione all'interno della finestra attiva senza essere influenzato dalla sua posizione sullo schermo. Questa è l'impostazione predefinita e, nella maggior parte dei casi, quella che probabilmente utilizzerai.
  • Client è uguale a relativo ma non tiene conto delle decorazioni delle finestre, come la barra del titolo o i bordi.

Replicare i movimenti e i clic del mouse

Ora sai come creare un nuovo script AHK e indirizzare una finestra specifica, ma per quanto riguarda le coordinate del mouse di cui abbiamo parlato? Per spostare il mouse sulle coordinate X, Y, come lette da Window Spy, usaMouseMove, X, Y ;. Questo sposta il mouse nella posizione X, Y. Ricorda: le coordinate relative sono quelle predefinite.

Inoltre, nota come puoi aggiungere commenti nel tuo codice dopo il file;carattere. Per i commenti su più righe, iniziare con "/" e terminare con "/" – senza virgolette. Muovere il mouse è una cosa. Per fare clic, non è necessario spostare prima il mouse in una posizione specifica. Basta usare:

Click, X, Y ;For a left-click, or...

Click, right, X, Y ;For a right-click.

Tieni presente che se non inserisci alcuna coordinata, il clic avverrà comunque nel punto in cui si trova il cursore del mouse.

Replica qualsiasi pressione di un tasto sulla tastiera

Abbiamo lasciato per ultima la parte più importante dell'equazione:sendkeys. Questo è il comando utilizzato in AutoHotkey per replicare qualsiasi pressione di un tasto. Usandolo, puoi ordinare ad AutoHotkey di inviare qualsiasi stringa di tasti premuti a qualsiasi programma, proprio come se avessi premuto tu stesso i tasti. Ad esempio, quanto segue:

sendkeys, Make Tech Easier

dice ad AutoHotkey di inviare la pressione dei tasti che compongono la frase "Rendi la tecnologia più semplice". Puoi utilizzare qualsiasi lettera o numero. I tasti speciali hanno i propri codici brevi e sono racchiusi tra parentesi. Alcuni di loro sono:

  • {Tab.}
  • {Spostare}
  • {Control} o {Ctrl}
  • {Tutto}
  • {F1 – F12)
  • {LWin}{RWin} Tasto Windows sinistro e destro, rispettivamente
  • {Invio}
  • {Spazio}
  • {Backspace}
  • {Eliminare}
  • {Su}{Giù}{Sinistra}{Destra} ;Tasti cursore Su, Giù, Sinistra e Destra
  • {Casa}
  • {FINE}
  • {PgUp}{PgDown} ;Pagina su e Pagina giù
  • {Volume_Up}{Volume_Down}{Volume_Mute} ;Scorciatoie di controllo multimediale per controllare il volume dell'audio

È inoltre possibile utilizzare i numeri per simulare la pressione ripetuta dei tasti. Quanto segue farà sì che AutoHotkey invii cinque spazi a qualsiasi finestra attiva, proprio come se si premesse la barra spaziatrice cinque volte. Quindi, digita "Rendi la tecnologia più semplice", seguito da due pressioni del tasto Tab e una di Invio.

Send, {Space 5}Make Tech Easier{Tab 2}{Enter}

AutoHotkey imposta inoltre quattro simboli come modificatori che aiutano a inviare combinazioni di tasti di scelta rapida al programma attivo. Quelli influenzano solo il personaggio successivo che li segue e sono:

  • ! per tutto
  • + per Maiusc
  • ^ per il controllo
  • # per la chiave Windows

Quanto segue invierebbe alla finestra attiva la combinazioneCtrl+UNper, ad esempio, selezionare tutto il testo, quindiCtrl+Cper copiarlo negli Appunti:

Send, ^A^C

Crea la tua prima sceneggiatura

Vediamo come tutto ciò che abbiamo visto finora si traduce in un esempio del mondo reale creando uno script che aggiungerà una scorciatoia alla funzione di ricerca di Make Tech Easier. Premendo un tasto di scelta rapida, il mouse si sposterà e farà clic sull'icona di ricerca sul nostro sito. Quindi inserisci tutto ciò che è negli Appunti nel campo di ricerca e invia un "Invio" per avviare una ricerca.

Iniziamo controllando con Window Spy e scopriamo che le coordinate dell'icona di ricerca, quando la finestra di Firefox è massimizzata in uno schermo 1920 x 1080, sono vicine a X=1835 e Y=135. Questi numeri variano perché l'icona di ricerca è più grande di un singolo pixel, quindi anche X = 1830 e Y = 140 funzionerebbero poiché il cursore sta ancora puntando sull'icona quando si trova a quelle coordinate. Sapendo questo possiamo scrivere:

#IfWinActive, ahk_exe firefox.exe ;Only activate if the window belongs to the firefox.exe application.

!+M:: ;The script will activate whenever we press the combination Alt+Shift+M.

Click, 1830, 140

Sleep, 50 ;Small delay, to make sure the search field has appeared on the screen.

Send, {Clipboard}{Enter} ;Send the contents of the Clipboard to the search field and then press enter to initiate a search.

return ;End the specific part of the script that, in this case, sets up a hotkey.

#If ;Stop targeting the specific app\window.

Sì, è così semplice, quasi come scrivere in un inglese semplice. E, se ci pensi, questo ti consente di automatizzare praticamente tutto ciò che fai sul tuo computer.

  • Ti piacerebbe mappare il lancio di cinque applicazioni o la mossa "Hadouken" di Ryu in Street Fighter con una singola pressione di un tasto?
  • Spostare il cursore del mouse su un punto specifico di una finestra e fare clic 50 volte in una successione disumana e rapida?
  • Rendere Maiusc più utile trasformandolo nel clic centrale che manca al tuo mouse?

Tutto questo è fattibile esattamente allo stesso modo! Pensa a tutte le procedure che ripeti ogni giorno, suddividile in parti della loro somma e replica ogni parte con AutoHotkey per semplificare enormemente il modo in cui usi il computer e aumentare la tua produttività. Vai avanti e automatizza!