Comment écrire un script AutoHotkey

AutoHotkey est un logiciel fantastique mais compliqué. Il était initialement destiné à relier les raccourcis clavier personnalisés à différentes actions, mais il s’agit maintenant d’une suite d’automatisation Windows complète.

AHK n’est pas particulièrement difficile à apprendre pour les nouveaux utilisateurs, car le concept général est assez simple, mais c’est un langage de programmation complet et complet de Turing. Vous apprendrez la syntaxe beaucoup plus facilement si vous avez une formation en programmation ou si vous êtes familier avec les concepts.

Installation et utilisation d’AutoHotkey

Le processus d’installation d’AutoHotkey est simple. Téléchargez le installateur à partir du site officiel et exécutez-le. Choisissez «Installation express». Après avoir installé le logiciel, vous pouvez cliquer avec le bouton droit n’importe où et sélectionner Nouveau> Script AutoHotkey pour créer un nouveau script.

nouveau script autohotkey

Les scripts AHK sont des fichiers texte avec un .ahk extension. Si vous cliquez dessus avec le bouton droit de la souris, vous obtiendrez quelques options:

  • «Run Script» chargera votre script avec le runtime AHK.
  • «Compile Script» l’associera à un exécutable AHK pour créer un fichier EXE que vous pourrez exécuter.
  • «Edit Script» ouvrira votre script dans votre éditeur de texte par défaut. Vous pouvez utiliser le Bloc-notes pour écrire des scripts AHK, mais nous vous recommandons d’utiliser SciTE4AutoHotkey, un éditeur pour AHK qui prend en charge la coloration syntaxique et le débogage.

compiler le script autohotkey

Lorsqu’un script est en cours d’exécution, qu’il s’agisse d’un EXE ou non, vous le trouverez en arrière-plan dans la zone de notification Windows, également appelée barre d’état système. Recherchez l’icône verte avec un «H» dessus.

Pour quitter, mettre en pause, recharger ou modifier un script, cliquez avec le bouton droit sur l’icône de notification et sélectionnez une option appropriée. Les scripts continueront de s’exécuter en arrière-plan jusqu’à ce que vous les quittiez. Ils disparaissent également lorsque vous vous déconnectez de Windows ou redémarrez votre PC, bien sûr.

script autohotkey en cours d'exécution

Comment fonctionne AutoHotkey?

À la base, AHK fait une chose: lier les actions aux raccourcis clavier. Il existe de nombreuses actions, combinaisons de raccourcis clavier et structures de contrôle différentes, mais tous les scripts fonctionneront sur le même principe. Voici un script AHK de base qui lance Google Chrome chaque fois que vous appuyez sur Windows + C:

#c::
Run Chrome
return

La première ligne définit un raccourci clavier. Le signe dièse (#) est l’abréviation de la touche Windows et c est la touche C du clavier. Après cela, il y a un double deux-points (: 🙂 pour signifier le début d’un bloc d’action.

La ligne suivante est une action. Dans ce cas, l’action lance une application avec le Run commander. Le bloc est terminé par un return à la fin. Vous pouvez avoir n’importe quel nombre d’actions avant le return. Ils tireront tous séquentiellement.

En relation :  Comment contrôler vos lumières Philips Hue avec des raccourcis clavier

Juste comme ça, vous avez défini un simple mappage clé-action. Vous pouvez en placer autant que vous le souhaitez dans un .ahk et configurez-le pour qu’il s’exécute en arrière-plan, toujours à la recherche de raccourcis clavier à remapper.

Raccourcis clavier et modificateurs

Vous pouvez trouver une liste complète des modificateurs d’AHK dans la documentation officielle, mais nous allons nous concentrer sur les fonctionnalités les plus utiles (et les plus intéressantes).

Les touches de modification ont toutes des raccourcis à un seul caractère. Par exemple, # ! ^ + sont respectivement Windows, Alt, Control et Shift. Vous pouvez également faire la différence entre Alt gauche et droite, Ctrl et Maj avec le < et > modificateurs, ce qui ouvre beaucoup de place pour des raccourcis clavier supplémentaires. Par exemple, + est Shift droit. Jetez un œil au liste des clés pour tout ce que vous pouvez référencer. (Spoiler: vous pouvez référencer presque toutes les touches. Vous pouvez même référencer d’autres périphériques d’entrée non clavier avec un petite extension).

Vous pouvez combiner autant de touches que vous le souhaitez en une seule touche de raccourci, mais vous serez bientôt à court de combinaisons de touches à retenir. C’est là qu’interviennent les modificateurs, qui vous permettent de faire des choses plus folles. Décrivons un exemple à partir de la documentation AHK:

directives autohotkey

Le vert #IfWinActive s’appelle un directif, et applique un contexte supplémentaire aux touches de raccourci physiquement en dessous dans le script. Tout raccourci clavier après celui-ci ne se déclenchera que si la condition est vraie, et vous pouvez regrouper plusieurs raccourcis clavier sous une seule directive. Cette directive ne changera pas tant que vous n’aurez pas atteint une autre directive, mais vous pouvez la réinitialiser avec un espace vide #If (et si cela semble être un hack, bienvenue à AHK).

La directive ici vérifie si une fenêtre spécifique est ouverte, définie par ahk_class Notepad. Quand AHK reçoit l’entrée «Win + C», il déclenchera l’action sous le premier #IfWinActive uniquement si la directive a renvoyé true, puis vérifiez la seconde si ce n’est pas le cas. AHK a beaucoup de directives, et vous pouvez toutes les trouver dans les docs.

AutoHotkey a également chaînes chaudes, qui fonctionnent comme des raccourcis clavier, sauf en remplaçant une chaîne entière de texte. Ceci est similaire au fonctionnement de la correction automatique. En fait, il existe un script de correction automatique pour AHK – mais prend en charge toute action AHK.

hotstrings autohotkey

Le hotstring correspondra à la chaîne uniquement si elle est saisie exactement. Il supprimera également automatiquement le texte correspondant pour remplacer la chaîne sensible, bien que ce comportement puisse être ajusté.

En relation :  Comment créer vos propres codes QR à partir de votre iPhone ou téléphone Android

Actions

Une action dans AHK est tout ce qui a un effet extérieur sur le système d’exploitation. AHK a beaucoup d’actions. Nous ne pouvons pas tous les expliquer, nous en choisirons donc quelques-uns utiles.

La plupart de ces actions seront également associées à des commandes orientées informations. Par exemple, vous pouvez écrire dans le presse-papiers, mais vous pouvez également obtenir le contenu du presse-papiers pour stocker dans une variable et exécuter des fonctions lorsque le presse-papiers change.

Tout lier avec des structures de contrôle

AHK ne serait pas ce qu’il est sans toutes les structures de contrôle qui le font Turing-complet.

En plus de #If directives, vous avez également accès à If à l’intérieur des blocs d’action. AHK a For boucles, accolade blocs, Try et Catch déclarations, et bien d’autres. Vous pouvez accéder aux données externes à partir du bloc d’action et les stocker dans variables ou objets à utiliser plus tard. Vous pouvez définir fonctions personnalisées et Étiquettes. Vraiment, tout ce que vous pourriez faire facilement dans un autre langage de programmation, vous pouvez probablement le faire dans AHK avec un peu de mal de tête et en parcourant la documentation.

Par exemple, imaginez que vous ayez une tâche ennuyeuse et répétitive qui vous oblige à cliquer sur plusieurs boutons d’affilée et à attendre qu’un serveur réponde avant de recommencer à l’infini. Vous pouvez utiliser AHK pour automatiser cela. Vous voudriez définir quelques boucles pour déplacer la souris vers des emplacements spécifiques, cliquer, puis passer à l’endroit suivant et cliquer à nouveau. Jetez quelques déclarations d’attente pour ne pas le casser. Tu pourrais même essayer de lire la couleur des pixels à l’écran pour déterminer ce qui se passe.

Une chose est sûre: votre script ne sera probablement pas joli. Mais AutoHotkey non plus, et ce n’est pas grave.

Moyens Staff
Moyens I/O Staff vous a motivé, donner des conseils sur la technologie, le développement personnel, le style de vie et des stratégies qui vous aider.