2008-10-14 8 views
14

estoy tratando de establecer AutoHotkey macros para algunas tareas comunes, y quiero que las teclas de acceso rápido para imitar "atajo de dos pasos" comportamiento de Visual Studio - es decir, presionando Ctrl - K permitirá "modo macro"; dentro del modo macro, al presionar ciertas teclas se ejecutará una macro y luego se desactivará el 'modo macro', y cualquier otra tecla simplemente deshabilitará el modo macro.¿Cómo puedo imitar el comportamiento macro de dos pasos "Ctrl-K, C" de Visual Studio usando Autoit/Autohotkey?

Ejemplo - al escribir un nombre de fichero, Quiero ser capaz de insertar la fecha actual pulsando Ctrl - K, a continuación, pulsando D.

¿Alguien tiene un buen ejemplo de un script de AutoHotkey con estado que se comporte así?

Respuesta

8

Este script Autohotkey, cuando se pulsa Ctrl + k , esperará a que se pulse una tecla y si se pulsa d, se introducirá la fecha actual.

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

Una pequeña variación en la respuesta aceptada - esto es lo que terminé usando. Estoy capturando Ctrl + LWin (tecla de Windows izquierda) para que no entre en conflicto con los accesos directos de Ctrl-K VS incorporados.

; 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 
Cuestiones relacionadas