This is an old revision of the document!
Table of Contents
AutoHotKey
Change default editor
Il faut modifier les clés de registre windows :
- Enregistrer le fichier suivant :
- ahk.reg
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\Edit\Command] @="notepad++.exe %1" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoHotkeyScript\Shell\Edit\Command] @="notepad++.exe %1"
- Exécuter la commande suivante dans l'invite de commande (ou télécharger le fichier et double-cliquer
) :
- ahk.reg.bat
regedit ahk.reg
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 !
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
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 ^^.