AutoHotkey : automatiser Windows avec des scripts simples

Certaines tâches sous Windows n’ont pas de raccourci : ouvrir une application dans un dossier précis, remplir un formulaire avec des données fixes, renommer une fenêtre, déplacer le curseur vers une position exacte. AutoHotkey crée ces raccourcis. Un fichier .ahk, un double-clic, et vos automatisations tournent en arrière-plan.

Ce que fait AutoHotkey

AutoHotkey (AHK) est un langage de scripting Windows orienté automatisation du bureau. Il permet de créer des raccourcis clavier globaux, remapper des touches, envoyer des séquences de touches et de clics, manipuler des fenêtres, lire et écrire des fichiers, et interagir avec l’interface graphique de n’importe quelle application.

Installation

winget install AutoHotkey.AutoHotkey

Créez un fichier script.ahk, clic droit → “Run Script” pour l’exécuter.

Syntaxe de base (AHK v2)

; Ceci est un commentaire
; AHK v2 — syntaxe moderne

; Raccourci : Win+N ouvre le Notepad
#n:: Run "notepad.exe"

; Ctrl+Shift+C copie et transforme en majuscules
^+c:: {
    A_Clipboard := ""
    Send "^c"
    ClipWait 1
    A_Clipboard := StrUpper(A_Clipboard)
    Send "^v"
}

; F1 tape une phrase
F1:: Send "Bonjour, comment puis-je vous aider ?{Enter}"

Modificateurs de touches

#   Win
^   Ctrl
!   Alt
+   Shift
*   Toutes combinaisons
~   Ne pas bloquer la touche originale

Exemples :
^!t::       → Ctrl+Alt+T
#+f::       → Win+Shift+F
!F4::       → Alt+F4 (remplacer l'action par défaut)

Raccourcis clavier pratiques

; Ouvrir le terminal dans le dossier courant
#t:: {
    path := "C:\Dev"
    Run 'wt.exe -d "' path '"'
}

; Win+E → VS Code au lieu de l'explorateur
#e:: Run "code.exe"

; Ctrl+Alt+L → verrouiller l'écran
^!l:: DllCall("LockWorkStation")

; Win+Shift+S → capture Snipping Tool
#+s:: Send "#+s"

; Remapper Caps Lock → Échap (utile pour les utilisateurs Vim)
CapsLock:: Escape

; Remapper Échap → Caps Lock (swap complet)
Escape:: CapsLock

Automatiser des formulaires et des saisies

; Remplir automatiquement un formulaire avec Tab pour naviguer entre les champs
F2:: {
    Send "Alice Dupont"
    Send "{Tab}"
    Send "alice@exemple.com"
    Send "{Tab}"
    Send "+33 6 12 34 56 78"
    Send "{Tab}"
}

; Séquence de connexion
^!l:: {
    Send "mon-utilisateur{Tab}"
    Send "mon-mot-de-passe{Enter}"
}

Manipulation de fenêtres

; Redimensionner la fenêtre active en 1200x800 et la centrer
^!r:: {
    WinMove "A",, 360, 140, 1200, 800
}

; Toujours au premier plan : toggle
^Space:: {
    hwnd := WinGetID("A")
    if WinGetExStyle(hwnd) & 0x8
        WinSetAlwaysOnTop 0, hwnd
    else
        WinSetAlwaysOnTop 1, hwnd
}

; Déplacer la fenêtre sur le second écran
^!Right:: WinMove "A",, 1920, 0

Hotstrings (text expansion)

AHK intègre aussi un système de text expansion :

; ::déclencheur::remplacement
::;email::contact@mon-domaine.com
::;sig::Cordialement,`nAlice Dupont
::;date::
{
    FormatTime date,, "dd/MM/yyyy"
    SendInput date
}
::btw::by the way
::afk::away from keyboard

Clic automatisé et automatisation d’interface

; Cliquer sur des coordonnées précises
Click 500, 300

; Clic droit
Click "Right", 500, 300

; Déplacer la souris puis cliquer
MouseMove 800, 400
Click

; Attendre qu'une fenêtre apparaisse, puis agir
WinWait "Titre de la fenêtre",, 5
WinActivate "Titre de la fenêtre"
Send "texte à taper"

Démarrer automatiquement avec Windows

Copiez votre script dans le dossier de démarrage :

# Ouvrir le dossier de démarrage
shell:startup

# Copiez mon-script.ahk ici

Ou compilez le script en .exe (clic droit → Compile) pour le distribuer sans installer AHK.

Exemple complet : workspace de développement

; Win+D → ouvrir l'environnement de dev complet
#d:: {
    ; Ouvrir VS Code sur le projet
    Run 'code.exe "C:\Dev\mon-projet"'
    Sleep 2000

    ; Ouvrir le terminal
    Run "wt.exe"
    Sleep 1000

    ; Taper la commande de démarrage
    Send "npm run dev{Enter}"
}

+ Les points forts

  • Puissant et flexible — si c’est faisable à la souris et au clavier, AHK peut l’automatiser
  • Léger — tourne en arrière-plan avec une consommation mémoire quasi nulle
  • Grande communauté — des milliers de scripts prêts à l’emploi sur le forum officiel et GitHub
  • Compiler en .exe — distribuez vos automatisations sans dépendance AHK

- Les points faibles

  • Syntaxe déroutante — la logique AHK est différente des langages modernes, la courbe d’apprentissage existe
  • v1 vs v2 — deux versions incompatibles coexistent, beaucoup de scripts en ligne sont en v1. Vérifiez toujours la version
  • Fragile sur les mises à jour Windows — certains scripts basés sur des positions de pixels ou des titres de fenêtres cassent après les mises à jour Windows
  • Windows uniquement — aucune portabilité

En résumé

AutoHotkey est la couche d’automatisation que Windows n’a jamais fournie nativement. Dès qu’une tâche devient répétitive — ouvrir une application dans un contexte précis, remplir un formulaire, déplacer des fenêtres — AHK offre la solution en quelques lignes. Commencez par un raccourci simple, et la logique s’apprend naturellement en ajoutant de la complexité au fur et à mesure.


Voir aussi :

  • Espanso — alternative plus simple pour l’expansion de texte sans scripting
  • Windows PowerToys — remapper les touches sans écrire de script AHK