2008-10-14 1 views
14

Je suis en train de mettre en place AutoHotkey macros pour certaines tâches courantes, et je veux les raccourcis clavier pour imiter le comportement « raccourci en deux étapes » de Visual Studio - à savoir appuyer sur Ctrl - K permettra mode « macro »; en mode macro, appuyer sur certaines touches exécutera une macro, puis désactiver le mode macro, et toute autre touche désactivera simplement le mode macro.Comment puis-je imiter le comportement de macro en deux étapes «Ctrl-K, C» de Visual Studio à l'aide d'Autoit/Autohotkey?

Exemple - lorsque vous tapez un nom de fichier, je veux être en mesure d'insérer la date du jour en appuyant sur les touches Ctrl - K, puis en appuyant sur D.

Est-ce que quelqu'un a un bon exemple d'un script AutoHotkey avec état qui se comporte comme ceci?

Répondre

8

Ce script Autohotkey, lorsque vous appuyez sur Ctrl + k , attendra pour vous appuyer sur une touche et si vous appuyez sur d, il saisira la date actuelle.

^k:: 
Input Key, L1 
FormatTime, Time, , yyyy-MM-dd 
if Key = d 
    Send %Time% 
return 
5

Une légère variation sur la réponse acceptée - c'est ce que j'ai fini par utiliser. Je capture Ctrl + LWin (touche Windows de gauche) afin qu'il ne soit pas en conflit avec les raccourcis Ctrl-K intégrés VS.

; 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 
Questions connexes