AutoHotkey
AutoHotkey è un linguaggio di scripting gratuito e open-source per Microsoft Windows. Permette agli utenti di creare scorciatoie da tastiera o tasti di scelta rapida, macro-creazione veloce e automazione del software. Permette agli utenti di automatizzare compiti ripetitivi in qualsiasi applicazione Windows. Le interfacce utente possono essere estese o modificate da AutoHotkey. Per esempio, sostituendo i comandi dei tasti di controllo di Windows con i loro equivalenti Emacs. L'installazione di AutoHotkey include un file di aiuto. La documentazione è disponibile su internet.
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.