2008-10-14 6 views
14

Bazı genel görevler için AutoHotkey makro kurmaya çalışıyorum ve ben kısayol tuşları Visual Studio'nun, "iki aşamalı kısayol" davranışı taklit etmek istiyoruz - Ctrl basarak yani - K "makro modu" sağlayacak; Makro modunda, belirli tuşlara basmak bir makroyu çalıştırır ve ardından 'makro modu'nu devre dışı bırakır ve diğer herhangi bir tuş makro modunu devre dışı bırakır.Visual Studio'nun "Ctrl-K, C" iki adımlı makro davranışını Autoit/Autohotkey kullanarak nasıl taklit edebilirim?

Örnek - sonra D basarak K - bir dosya adı yazarken, ben Ctrl dokunarak bugünün tarihini eklemek mümkün olmak istiyorum.

Böyle bir davranış gösteren durum bilgisi olan bir AutoHotkey betiğine iyi bir örnek var mı?

cevap

8

Bu Autohotkey senaryo, tuşuna ctrl + k, bir tuşa basın bekleyin ve d basarsanız, o girdi geçerli tarih olacak edecektir.

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

Kabul edilen yanıtta hafif bir değişiklik var - bu benim kullandığım şey. Ctrl + LWin'i (sol Windows tuşu) yakalarım ve böylece VS dahili Ctrl-K kısayollarıyla çakışma yapmaz.

; 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