2015-07-10 708 views
0

每當您按w時,您都會進入一個循環,每10秒鐘按一下e。必須再次按下另一個按鈕以隨時離開(並且可以重新開始)。這是我到目前爲止:在Autohotkey中使用循環的簡單按鍵腳本

w:: 
Loop 
{ 
Send, e 
Random, SleepAmount, 9000, 10000 
Sleep, %SleepAmount% 
x::Break 
} 
Return 

我不明白爲什麼它還沒有工作。它會按下一次,之後再也不會做任何事了。

回答

0
x::Break 

x:: 
    break 
return 

短形式,因此終止當前子程序。 永不定義任何其他執行機構內的熱鍵。相反,在w熱鍵之外定義x -hotkey並使其停止循環。

例使用goTo(注意:goSub是不同,後者將不會終止子程序):

w:: 
    Loop { 
     send e 
     Random, SleepAmount, 9000, 10000 
     Sleep, %SleepAmount% 
    } 
    after_loop: 
return 

x:: 
    goTo after_loop 
return 
; or, more compact: 
; x::goto after_loop 

由於goto方法是非常糟糕的編程風格,你可以考慮使用一個timer(而不是環) 。但說實話,這是不值得的,因爲你的睡眠量不是固定的。