临时暂停按钮上的自动循环循环

时间:2014-04-06 22:53:49

标签: autohotkey

我编写了一个脚本,可以自动发送左键点击并可以打开和关闭。该脚本有效。但是,问题是按住鼠标右键不再正常工作,因为左键单击不断发送。因此,当我按住鼠标右键时,我想更改暂时暂停的脚本。

我该怎么做呢?这是我目前的代码:

#MaxThreadsPerHotkey 3
   #z::
#MaxThreadsPerHotkey 1

if keep_winz_running = y

{
     keep_winz_running = n
     return
    }

; Otherwise:

keep_winz_running = y

Loop
{
GetKeyState, rbut, Rbutton
If rbut, = U 
{ 
Loop, 

{ 

    MouseClick, left 

    Sleep, 50 ;This means the script will wait 1.5 secs 

     if keep_winz_running = n  ; The user signaled the loop to stop.

        break  ; break out of the loop

}

1 个答案:

答案 0 :(得分:1)

计时器是最好的!

sendToggle := false

#z::
    if(!sendToggle) {
        sendToggle := true
        SetTimer, SendClick, 100
    } else {
        sendToggle := false
        SetTimer, SendClick, Off
    }
return

#If sendToggle
RButton::
    SetTimer, SendClick, Off
    KeyWait, RButton
    SetTimer, SendClick, 100
return

SendClick:
    Click
return

我发现50毫秒的发送间隔非常快,特别是因为您无法在不减少SetBatchLinesSetKeyDelay的情况下实际达到50毫秒。如果确实需要这么快,请考虑更改它们。