AutoHotkey est un langage de script personnalisé gratuit et open source pour Microsoft Windows , conçu principalement pour fournir des raccourcis clavier ou des raccourcis clavier simples, une création rapide de macros et une automatisation logicielle pour permettre aux utilisateurs de la plupart des niveaux de compétence informatique d'automatiser des tâches répétitives dans n'importe quelle application Windows. Il peut facilement étendre ou modifier les interfaces utilisateur (par exemple, en remplaçant les commandes de touches de contrôle Windows par défaut par leurs équivalents Emacs ). Le package d'installation comprend un fichier d'aide complet ; une documentation en ligne est également disponible.
Caractéristiques
Les scripts AutoHotkey peuvent être utilisés pour lancer des programmes , ouvrir des documents et émuler des frappes de touches ou des clics et mouvements de souris . Ils peuvent également affecter, récupérer et manipuler des variables , exécuter des boucles et manipuler des fenêtres , des fichiers et des dossiers . Ils peuvent être déclenchés par un raccourci clavier , comme un script qui ouvre un navigateur Internet lorsque l' utilisateur appuie sur + + sur le clavier. Les touches du clavier peuvent également être remappées et désactivées, par exemple, de sorte qu'appuyer sur + produise un tiret cadratin dans la fenêtre active . AutoHotkey permet également d'utiliser des « chaînes de caractères » qui remplacent automatiquement certains textes au fur et à mesure de leur saisie, comme l'affectation de la chaîne « btw » pour produire le texte « by the way » ou du texte « %o » pour produire « percentage of ». Les scripts peuvent également être configurés pour s'exécuter automatiquement au démarrage de l'ordinateur, sans qu'aucune action du clavier ne soit requise, par exemple pour effectuer une gestion de fichiers à un intervalle défini. CtrlAltICtrlM
Des tâches plus complexes peuvent être réalisées à l'aide de formulaires de saisie de données personnalisés ( fenêtres d'interface utilisateur graphique ), en travaillant avec le registre système ou en utilisant l' API Windows en appelant des fonctions à partir de DLL . Les scripts peuvent être compilés dans des fichiers exécutables autonomes qui peuvent être exécutés sur d'autres ordinateurs sans qu'AutoHotkey soit installé. Le code source C++ peut être compilé avec Visual Studio Express .
AutoHotkey permet l'accès à la mémoire via des pointeurs, comme en C .
Quelques utilisations d'AutoHotkey :
- Remappage du clavier, par exemple de QWERTY à Dvorak et autres configurations de clavier alternatives
- Utiliser des raccourcis pour saisir des noms de fichiers fréquemment utilisés et d'autres phrases
- Saisie de signes de ponctuation non disponibles sur le clavier, comme les guillemets courbes ( « … » )
- Saisie d'autres caractères non présents sur le clavier, tels que le signe × utilisé pour la mesure dimensionnelle (par exemple 10′×12′)
- Contrôler le curseur de la souris avec un clavier ou un joystick
- Ouverture de programmes, de documents et de sites Web avec de simples touches
- Ajout d'une signature aux e-mails , aux forums de discussion , etc.
- Surveiller un système et fermer automatiquement les programmes indésirables
- Planification d'un rappel automatique , d'une analyse du système ou d'une sauvegarde
- Automatiser les tâches répétitives
- Remplir des formulaires automatiquement
- Prototypage d'applications avant leur implémentation dans d'autres langages de programmation plus chronophages
Histoire
La première version bêta publique d'AutoHotkey a été publiée le 10 novembre 2003, après que la proposition de l'auteur Chris Mallett d'intégrer la prise en charge des raccourcis clavier dans AutoIt v2 n'ait pas suscité de réponse de la part de la communauté AutoIt. Mallett a construit un nouveau programme à partir de zéro en basant la syntaxe sur AutoIt v2 et en utilisant AutoIt v3 pour certaines commandes et le compilateur. Plus tard, AutoIt v3 est passé de la GPL au code source fermé en raison de « d'autres projets reprenant à plusieurs reprises le code d'AutoIt » et « se présentant comme des concurrents ».
En 2010, AutoHotkey v1.1 (initialement appelé AutoHotkey_L) est devenu la plate-forme de développement continu d'AutoHotkey. Fin 2012, il est devenu la branche officielle. Un autre port du programme est AutoHotkey.dll. Un fork bien connu du programme est AutoHotkey_H, qui a son propre sous-forum sur le site principal.
Version 2
En juillet 2021, la première version bêta d'AutoHotkey v2 a été publiée. La première version candidate a été publiée le 20 novembre 2022, la version complète de la v2.0.0 étant prévue plus tard dans l'année. Le 20 décembre 2022, la version 2.0.0 a été officiellement publiée. Le 22 janvier 2023, AutoHotkey v2 est devenue la version principale officielle. AutoHotkey v1.1 est devenue une version héritée et aucune nouvelle fonctionnalité n'a été implémentée, mais cette version était toujours prise en charge par le site. Le 16 mars 2024, la mise à jour finale d'AutoHotkey v1.1 a été publiée. AutoHotkey v1.1 a maintenant atteint sa fin de vie.
Exemples
Le script suivant recherche un mot ou une phrase particulière à l'aide de Google . Une fois que l'utilisateur a copié le texte d'une application dans le presse-papiers , il peut appuyer sur la touche de raccourci configurable + pour ouvrir le navigateur Web par défaut de l'utilisateur et effectuer la recherche. ⊞ WinG
#g:: Exécutez « https://www.google.com/search?q= » . A_Clipboard
Le script suivant définit une chaîne de caractères qui permet à l'utilisateur de saisir afaik dans n'importe quel programme et, lorsqu'il est suivi d'un caractère de fin, de le remplacer automatiquement par « pour autant que je sache » :
:: autant que je sache ::
Fonctionnalités fournies par les utilisateurs
Les extensions, interopérabilités et bibliothèques de scripts en ligne AutoHotKey sont disponibles pour une utilisation avec et à partir d'autres langages de programmation, notamment :
- VB / C# ( .NET )
- Lua
- Lisp
- ECL
- Code machine intégré
- VBScript / JScript ( hôte de script Windows )
D'autres plugins majeurs permettent la prise en charge de :
- Programmation orientée aspect
- Crochets de fonction
- Enveloppeurs COM
- Interaction avec la console
- Génération de code dynamique
- HID
- Automatisation d'Internet Explorer
- Création d'interface graphique
- Programmation synthétique
- Services Web
- Crochets d'événements Windows
Logiciels malveillants
Lorsque AutoHotkey est utilisé pour créer un logiciel autonome destiné à la distribution, ce logiciel doit inclure la partie d'AutoHotkey elle-même qui comprend et exécute les scripts AutoHotkey, car il s'agit d'un langage interprété . Inévitablement, certains logiciels malveillants ont été écrits à l'aide d'AutoHotkey. Lorsque les produits anti-malware tentent de repérer les éléments de logiciels malveillants qui ont été programmés à l'aide d'AutoHotkey, ils identifient parfois à tort AutoHotkey comme le coupable plutôt que le logiciel malveillant réel.