gpt4 book ai didi

loops - 如何使用启动它的键停止自动热键中的无限循环

转载 作者:行者123 更新时间:2023-12-04 21:59:40 25 4
gpt4 key购买 nike

所以我刚开始使用 autohotkey 并且我制作了这个脚本来在一个名为流放之路的游戏中发送垃圾邮件,它运行得很好,但是当我再次按 f1 时我无法让它停止,我已经尝试了无数次,但是循环不会停止

#MaxThreads 2
wintitle=Path of Exile
SetTitleMatchMode,2
DetectHiddenWindows,On
setkeydelay,2500,0
f1::
toggle:=!toggle
Loop
{
if toggle
controlsend,,{enter}{up}{enter}, %wintitle%
else
break
}
return

最佳答案

我认为你最好使用 SetTimer为了这。当涉及到切换时,循环不是很容易使用。

i := 0
toggle := 0
F1::
toggle := !toggle
if (toggle) {
SetTimer, Timer_Spam, 10
} else {
SetTImer, Timer_Spam, Off
}
return

Timer_Spam:
TrayTip, Counter, %i%
i++
return

你的循环不起作用的原因是因为一旦你进入循环,程序就会卡在那里,所以要离开你需要从循环内部工作。

你可以用 GetKeyState() 来做到这一点,但是您不能使用相同的键来打开和关闭它,因为它会在您启动后立即关闭,除非您添加 Sleep命令在那里,在这种情况下它变得不可靠。

但是,您可以使用单独的键来停止循环,如下所示。
toggle := 0
i := 0
F1::
toggle := !toggle
if (toggle) {
Loop {
if (GetKeyState("F2", "P")) {
toggle := !toggle
break
}

TrayTip, Counter, %i%
i++
}
}
return

但就像我上面说的, SetTimer以更稳定的方式实现相同的结果。所以我会这样做。

关于loops - 如何使用启动它的键停止自动热键中的无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26228153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com