¿Cómo puedo imitar el comportamiento de macro de dos pasos "Ctrl-K, C" de Visual Studio usando Autoit / Autohotkey?

StackOverflow https://stackoverflow.com/questions/200587

  •  03-07-2019
  •  | 
  •  

Pregunta

Estoy intentando configurar AutoHotkey macros para algunas tareas comunes, y quiero que las teclas de acceso rápido imitar el método abreviado de dos pasos de Visual Studio comportamiento, es decir, al presionar Ctrl - K se habilitará el modo macro "quot; dentro del modo macro, al presionar ciertas teclas se ejecutará una macro y luego se deshabilitará el "modo macro", y cualquier otra tecla simplemente deshabilitará el modo macro.

Ejemplo: al escribir un nombre de archivo, quiero poder insertar la fecha de hoy tocando Ctrl - K y luego presionando D .

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

¿Fue útil?

Solución

Este script de Autohotkey, cuando presiona ctrl + k , esperará a que presione una tecla y si presiona d , ingresará la fecha actual.

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

Otros consejos

Una ligera variación en la respuesta aceptada: esto es lo que terminé usando. Estoy capturando Ctrl + LWin (tecla izquierda de Windows) para que no entre en conflicto con los atajos de teclado Ctrl-K 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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top