我很新,所以我为这个基本的问题道歉,但我一直在尝试论坛上的提示,但似乎无法让它们运行。
我正在尝试使用以下基本脚本在计时器上连续运行,因此每15秒它将自动运行该功能。
基本功能是
*1::
Click 287, 536
Click 228, 405
return
我尝试延迟运行并继续运行,只在退出应用时停止(只有通过进行以下更改才知道:
Esc::ExitApp
#Persistent
*1::
Click 287, 536
Click 228, 405
Sleep 15 ; seconds
return
我错过了什么?我当然会喜欢这个解决方案,但是如果可以解释的话,我可以在将来编写脚本,我会很感激。谢谢:))
答案 0 :(得分:1)
*1::
loop {
Click 287, 536
Click 228, 405
Sleep 15000
}
return
Esc::ExitApp
另请参阅loop command了解详情
答案 1 :(得分:1)
因此,您希望脚本在您按下任何包含“1”的组合键后每15秒开始单击该坐标,对吗?
然后@immo的代码会为你做这个。
关于#Persistent:
如果脚本没有热键或热字符串,脚本进程将从{-1}}或Exit
自动执行部分终止。该指令阻止了这一点。
但是当你的脚本有热键(return
)时,它已经不会在Exit或者返回时终止(只有当前的线程)。在这种情况下,指令什么都不做。
此外,虽然这只是样式的问题,但我提供了另一个脚本,它几乎完全相同,但如果按*1::
它也会暂停点击:
1
注意,如果您要从脚本中删除热键(* 1和Esc),则需要toggleTimer=1
*1::
If toggleTimer
SetTimer ClickThem, 15000
else
SetTimer ClickThem, Off
toggleTimer:=1-toggleTimer
return
Esc:: ExitApp
ClickThem:
Click 287, 536
Click 228, 405
return
指令,否则它将在计时器首次启动之前退出。
而且,最后,你在脚本中做错了什么:
目前,您要求ahk单击该坐标,等待15毫秒(这就是我们写15000的原因),然后返回,这意味着停止运行当前线程,即处理#Persistent
按键的线程。
但是你需要重复点击,所以你有选择权。 首先是一个循环,就像提供的immo一样。 另一个是计时器。
另外,我希望你知道,1
表示对其他读者的评论,而AutoHotkey忽略了它们,所以你为我们写了“秒”,而不是自动键。
答案 2 :(得分:0)
单击在活动窗口中执行。如果要单击其他窗口中的坐标,则必须激活它。
查看ControolClick,ControlSend和GontrolGet系列命令。它们可以更好地控制窗户。
答案 3 :(得分:0)
添加#Persistent
并不能达到你想要的效果;它只是使得脚本在到达ExitApp
之前不会关闭。此外,Sleep 15 ; seconds
也不会做你想做的事;你写的内容会告诉脚本只等待15 毫秒,从分号到行尾的所有内容都会被忽略,因为它被认为是注释。所以你需要做的是将热键的代码放入循环中。然后,将睡眠语句中的15乘以1000.然后,这就是您的代码应该是这样的:
Esc::ExitApp
#Persistent
*1::
Loop
{
Click 287, 536
Click 228, 405
Sleep 15000
}
return
如果您需要更多帮助,那么您应该阅读AutoHotkey文档。