Comment imiter le comportement de la macro en deux étapes «Ctrl-K, C» de Visual Studio à l'aide de Autoit / Autohotkey?
-
03-07-2019 - |
Question
J'essaie de configurer des macros AutoHotkey pour certaines tâches courantes, et je souhaite que les touches de raccourci imiter le raccourci "en deux étapes" de Visual Studio comportement - c’est-à-dire que vous appuyez sur Ctrl - K pour activer le "mode macro"; en mode macro, certaines touches lancent une macro puis désactivent le "mode macro", et toute autre touche ne fait que désactiver le mode macro.
Exemple - lors de la saisie d'un nom de fichier, je souhaite pouvoir insérer la date du jour en appuyant sur Ctrl - K , puis en appuyant sur D .
Quelqu'un at-il un bon exemple d'un script AutoHotkey avec état qui se comporte de la sorte?
La solution
Ce script Autohotkey, lorsque vous appuyez sur ctrl + k , attend que vous appuyez sur une touche et si vous appuyez sur d , entrera la date actuelle.
^k::
Input Key, L1
FormatTime, Time, , yyyy-MM-dd
if Key = d
Send %Time%
return
Autres conseils
Une légère variation de la réponse acceptée - c’est ce que j’ai fini par utiliser. Je capture Ctrl + LWin (touche Windows gauche) pour éviter tout conflit avec les raccourcis VS intégrés Ctrl-K.
; Capture Ctrl+Left Windows Key
^LWin::
; Show traytip including shortcut keys
TrayTip, Ctrl-Win pressed - waiting for second key..., t: current time`nd: current date, 1, 1
; Capture next string input (i.e. next key)
Input, Key, L1
; Call TrayTip with no arguments to remove currently-visible traytip
TrayTip
if Key = d
{
FormatTime, Date, , yyyyMMdd
SendInput %Date%
}
else if Key = t
{
FormatTime, Time, , hhmmss
SendInput %Time%
}
return