AutoHotkey: linguaggio di scripting e automazione per Windows
Panoramica su AutoHotkey: cos'è, caratteristiche principali, storia, esempi d'uso e differenze rilevanti. Guida concisa per capire come automatizzare attività su Microsoft Windows.
Panoramica
AutoHotkey è un linguaggio di scripting pensato per rendere più veloci le operazioni ripetitive su Microsoft Windows. È noto per essere gratuito e open-source, e facilita la creazione di scorciatoie da tastiera, macro e strumenti di automazione di software. L'installazione base include documentazione e file di aiuto, mentre la comunità offre guide e script condivisi.
Caratteristiche principali
AutoHotkey combina semplicità e flessibilità: la sintassi permette di definire hotkey (tasti di scelta rapida), hotstrings (sostituzioni automatiche di testo) e macro complesse. Supporta la creazione di interfacce GUI, l'interazione con finestre e controlli, chiamate a DLL, e l'accesso a COM per automatizzare applicazioni Office o browser.
- Hotkey e hotstring per abbreviazioni e tasti rapidi
- Costruzione di GUI personalizzate
- Controllo di processi e finestre (invio tasti, click, attesa)
- Compilazione degli script in file eseguibili standalone
Breve storia e sviluppo
AutoHotkey è nato nei primi anni 2000 come progetto ispirato ad altri strumenti di automazione. Col tempo si è evoluto grazie a contributi volontari e a una comunità attiva: questo ha prodotto versioni multiple, miglioramenti della sintassi e due linee principali di sviluppo, con cambiamenti significativi tra le versioni maggiori.
Usi ed esempi pratici
Gli impieghi sono vari: dall'aumento della produttività personale all'automazione di test ripetuti, passando per l'adattamento dell'interfaccia utente o la creazione di utility per lavori specifici. Esempi comuni includono riassegnare combinazioni di tasti, espandere abbreviazioni di testo per scrittura rapida, automatizzare operazioni ripetute in fogli di calcolo e creare mini-applicazioni per flussi di lavoro.
Differenze, limiti e risorse
AutoHotkey è rivolto principalmente a utenti Windows; è semplice per script rapidi ma può richiedere attenzione per la manutenzione di progetti estesi. Esistono differenze di compatibilità tra le principali versioni del linguaggio, quindi è consigliabile verificare la documentazione e gli esempi pubblicati dalla comunità. Per informazioni ufficiali, tutorial e librerie è utile consultare forum, wiki e raccolte di script online.
Per approfondire, cercare guide introduttive, esempi pratici e pacchetti di estensioni che coprono dall'interfacciamento con applicazioni esterne alla costruzione di GUI avanzate.
Caratteristiche
Gli script AutoHotkey possono essere usati per caricare programmi, aprire documenti, ed emettere sequenze di tasti e clic del mouse.
Gli script AutoHotkey possono anche cambiare variabili e manipolare finestre, file e cartelle.
Gli script AutoHotkey possono essere avviati da un tasto di scelta rapida. Quando l'utente preme una combinazione di tasti, come Ctrl+Alt+I sulla tastiera, uno script potrebbe aprire un browser web.
I tasti della tastiera possono essere rimappati, in modo che premendo Ctrl+N la finestra attiva possa ricevere un trattino (-). Gli stessi tasti possono essere disabilitati, in modo che premendo Ctrl+N non succeda proprio nulla.
AutoHotkey permette anche le "hotstrings" che sostituiscono automaticamente un certo testo quando viene digitato. Un uso tipico delle hotstrings è l'espansione delle abbreviazioni. Digitando "btw" si potrebbe produrre il testo "by the way".
Gli script possono essere avviati automaticamente all'avvio del computer. Questi potrebbero essere eseguiti in background e potrebbero essere usati per scrivere informazioni in un file di registro.
Compiti più complessi possono essere la creazione di moduli di inserimento dati personalizzati (finestre GUI), lavorare con il registro di sistema, o usare l'API di Windows chiamando funzioni dalle DLL. Gli script possono essere compilati in un file eseguibile che può essere eseguito su altri computer che non hanno AutoHotkey installato.
Il codice sorgente è in C++ e può essere compilato con Visual Studio Express.
L'accesso alla memoria attraverso i puntatori è permesso proprio come in C.
Alcuni usi di AutoHotkey:
- Remapping della tastiera, come ad esempio da QWERTY a Dvorak o altri layout di tastiera alternativi.
- Usare le scorciatoie per riempire i nomi dei file o altre frasi di uso frequente.
- Digitare la punteggiatura non prevista dalla tastiera, come le virgolette curve ("...").
- Controllo del cursore del mouse con una tastiera o un joystick.
- Apertura di programmi, documenti e siti web con semplici pressioni di tasti.
- Aggiungere una firma alle e-mail o alle bacheche.
- Monitorare un sistema e chiudere automaticamente i programmi indesiderati.
- Programmare un promemoria automatico, una scansione del sistema o un backup.
- Automatizzare i compiti ripetitivi.
- Compilazione automatica di moduli per concorsi e omaggi (potrebbe digitare automaticamente il tuo nome, indirizzo e così via).
- Prototipare prima di implementare in un altro linguaggio di programmazione che richiede più tempo.
Storia
La prima beta pubblica di AutoHotkey fu rilasciata il 10 novembre 2003. Era basata sulla sintassi di AutoIt v2. Usava alcuni comandi di AutoIt v3 e il compilatore AutoIt v3. AutoIt v3 cambiò la sua licenza da GPL a closed source a causa di "altri progetti che prendono ripetutamente il codice AutoIt" e "si pongono come concorrenti".
Nel 2010, AutoHotkey v1.1 (originariamente chiamato AutoHotkey_L) divenne la piattaforma per lo sviluppo continuo di AutoHotkey. Alla fine del 2012, è diventato il ramo ufficiale.
Esempi
Il seguente script permetterà a un utente di cercare una particolare parola o frase usando Google. Dopo aver copiato il testo da qualsiasi applicazione negli appunti, premendo il tasto di scelta rapida configurabile ⊞ Win+G si aprirà il browser web predefinito dell'utente ed eseguirà la ricerca.
Lo script seguente definisce una hotstring che permette all'utente di digitare "afaik" in qualsiasi programma e farlo sostituire automaticamente con "per quanto ne so":
L'esempio seguente fa sì che Ctrl+⇧ Shift+Q sostituisca il testo selezionato in un editor con una versione citata di quel testo. Illustra l'uso delle funzioni, degli argomenti e dei valori predefiniti degli argomenti.
Funzionalità fornite dagli utenti
Ci sono estensioni/interops/librerie di script in linea disponibili per l'uso con/da altri linguaggi di programmazione:
- VB/C# (.NET)
- Lua
- Lisp
- ECL
- VBScript/JScript (Windows Scripting Host)
- Codice macchina incorporato
Altri importanti plugin permettono il supporto per:
- Programmazione orientata agli aspetti
- Ganci di funzione
- wrapper COM
- Interazione con la console
- Generazione dinamica del codice
- HIDs
- Automazione di Internet Explorer
- Creazione dell'interfaccia grafica
- Servizi web
- Programmazione sintetica
- Ganci di eventi di Windows
Malware
Alcuni malware sono stati scritti usando AutoHotkey.
I prodotti anti-malware a volte identificano falsamente gli script AutoHotkey come malware. Questi sono chiamati falsi positivi.
Pagine correlate
Articoli correlati
Autore
AlegsaOnline.com AutoHotkey: linguaggio di scripting e automazione per Windows Leandro Alegsa
URL: https://it.alegsaonline.com/art/114745
Fonti
- autohotkey.com : "AutoHotkey Changelog for Years 2003-2004" · web.archive.org
- autohotkey.com : "Changes & New Features AutoHotkey (sorted by date)"
- github.com : "L4 Source Code (sorted by date)"
- autohotkey.com : "AutoHotkey Downloads"
- autohotkey.com : "AutoHotkey v2 Downloads (sorted by date)"
- lifehacker.com : "Ericasadun 2005 Life Hacker"
- autohotkey.com : autohotkey.com/docs/AutoHotkey.htm
- autohotkey.com : "AutoHotkey Tutorial: Macro and Hotkey Creation"
- autohotkey.com : "Remapping Keys and Buttons"
- autohotkey.com : "Hotstrings and Auto-replace (similar to AutoText and AutoCorrect)"
- autohotkey.com : "Hotkeys, Hotstrings, and Remapping"
- autohotkey.com : "AutoHotkey Changes and New Features, v1.0.47 - June 19, 2007"
- autohotkey.com : "Author Chris Mallett's post on the AutoHotkey Forums"
- autoitscript.com : "Licensing Opinions - AutoIt Forums"