【问题标题】:How do i stop AHK loop when LButton is upLButton启动时如何停止AHK循环
【发布时间】:2019-06-29 03:07:16
【问题描述】:

我只想让这个循环在 LButton 关闭时工作,并在 LButton 启动时停止。我 该代码在 LButton 按下时有效,但当我将手指从左键按钮上移开时它继续工作。

 mem:=0
~*LButton:: 
Sleep, 100
KeyWait, LButton, T0.10
If ErrorLevel = 1
   {
   While GetKeyState("LButton","P")

Loop {
GetKeyState, state, LButton, P
    If state = U
        Break

 MouseGetPos, xpos, ypos

 if (xpos > mem)          ;moved right
    {
     send, {a down}         ;send key
     mem:=xpos
    }
 else
     send, {a up}

 if (xpos < mem)          ;moved left
    {
     send, {d down}
     mem:=xpos
    }
 else
     send, {d up}

  Sleep, 100
}
}
return

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

    您的情况与while loop 的用法示例非常相似。 如果您看一下就可以看到,您不需要在 while 中使用循环。只要有

    while GetKeyState("LButton")
    {
        ; Your code here:
        MouseGetPos, xpos, ypos
    
        if (xpos > mem)          ;moved right
        {
            send, {a down}         ;send key
            mem:=xpos
        }
        else{
            send, {a up}
        }
    
        if (xpos < mem)          ;moved left
        {
            send, {d down}
            mem:=xpos
        }
        else{
            send, {d up}
        }
    
        Sleep, 100
    }
    

    【讨论】:

    • 嘿,感谢您的回复,但是,这个脚本对我不起作用,它只是快速打开 AHK 并关闭。
    • 我已经放弃了之前的所有内容。尝试查看链接上的示例,看看是否可行,然后从那里添加您的功能!
    • 我做了,但仍然没有工作。当我激活脚本并向键 {A} 发送命令时,尽管没有单击 LButton,但字母 {A} 仍会继续发送。
    猜你喜欢
    • 1970-01-01
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    相关资源
    最近更新 更多