Table of Contents

AutoHotKey

Change default editor

Source

Il faut modifier les clés de registre windows :

Help

Un script plutôt maousse qui liste toutes les hotkeys actives : http://ahkscript.org/boards/viewtopic.php?f=6&t=96. Une fois lancé, Win + F1 pour l'activer ;)

NB : pour archive : code (v2.90).

Macro creator

Enregistrer et modifier des macros. Pretty handy.

GUI creator

Un GUI editor pour AHK !

Auto Reload

A insérer dans le script lui-même. Ne pas oublier d'adapter le nom du fichier !

~^s:: ; Slf : Reload script on save
WinGetActiveTitle, Reload
	If InStr(Reload, "myscript.ahk")
		Reload
Return

Fonctionne avec SciTE4AutoHotkey et Notepad++ at least.

Syntaxe

Affectation

AHK supporte 2 syntaxe mutuellement exclusives pour l'affectation de variables. Mixer les 2 peut-être utile, mais c'est à utiliser à vos risques et périls.

MyVar = Ceci est ma valeur ; Ceci est ma valeur
MyVar := "Ceci est ma valeur" ; Ceci est ma valeur
Rep := RegexReplace(Myvar, ".* (e\w+).*", "Match = $1") ; Match = est
Rep := RegexReplace(%Myvar%, ".* (e\w+).*", "Match = $1") ; Erreur !!! car l'interpréteur va remplacer %Myvar% par Ceci est ma valeur, ce qui va rendre la commande invalide !

HotKeys

Astuces :

⇒ Exemples :

Functions

Petit précis :

MyFunc(ByRef Var1, ByRef Var2)
{
    if (Var1 = "A")
    {
        Var3 := 5 * Var2
        return Var3
    }
    else if (Var1 = "B")
        return true
    else
        return false
}

Clipboard

Clipboard

clipboard = my text   ; Give the clipboard entirely new contents.
clipboard =   ; Empty the clipboard.
clipboard = %clipboard%   ; Convert any copied files, HTML, or other formatted text to plain text.
clipboard = %clipboard% Text to append.   ; Append some text to the clipboard.
StringReplace, clipboard, clipboard, ABC, DEF, All   ; Replace all occurrences of ABC with DEF (also converts the clipboard to plain text).

Travailler avec des buffers

Un design pattern qui marche assez bien consiste à sérialiser des données dans des buffers ficher séparés via une ou plusieurs HotKeys puis de les utiliser dans d'autres HotKeys. Ces buffers évitent d'avoir à développer une logique complexe de sérialisation/parsing tout en permettant de vérifier facilement les contenus bufferisés.

/!\ NB /!\ : Faire un FileRead, MyVar, FileName.ext suivi d'un Send %MyVar% “brut” est à proscrire, AHK se met alors à déconner sérieusement en envoyant chaotiquement des séquences entières du script lui-même. Il faut soit passer une Loop, parse ou bien charger le contenu du fichier dans le clipboard puis faire un Send ^v, très efficace ^^.