Loops 在单击鼠标循环中重新启动不起作用
当鼠标点击循环运行时,我试图在特定时间重新启动电脑。我使用了if+else条件,当我尝试分别运行这两段代码时,脚本可以工作,但当将它们放在一起时,只有鼠标单击循环在运行,而计时器进程不起作用。你知道怎么了吗Loops 在单击鼠标循环中重新启动不起作用,loops,timer,autohotkey,Loops,Timer,Autohotkey,当鼠标点击循环运行时,我试图在特定时间重新启动电脑。我使用了if+else条件,当我尝试分别运行这两段代码时,脚本可以工作,但当将它们放在一起时,只有鼠标单击循环在运行,而计时器进程不起作用。你知道怎么了吗 ^+f:: SetTimer, Chronos, 500 return Chronos: FormatTime, TimeToMeet,,HHmm If (TimeToMeet = 2018) { Run, %comspec% /c shutdown -r
^+f::
SetTimer, Chronos, 500
return
Chronos:
FormatTime, TimeToMeet,,HHmm
If (TimeToMeet = 2018)
{
Run, %comspec% /c shutdown -r -f -t 0
}
else
{
loop
{
MouseClick, Left, 787, 512, 1,0
Sleep 10000
}
}
Return
k::Pause
循环语句从不存在 您使用的是计时器,所以我假设您希望代码是事件驱动的。如果是这种情况,将鼠标单击作为计时器的一部分,而不是睡眠循环 如果不想使用事件,请将shutdown子句放入循环中 每10秒点击一次(787512),直到20:18,然后关闭计算机
^+f::
SetTimer, Chronos, 500
return
Chronos:
loop
{
FormatTime, TimeToMeet,,HHmm
If (TimeToMeet = 2018)
{
Run, %comspec% /c shutdown -r -f -t 0
}
MouseClick, Left, 787, 512, 1,0
Sleep 10000
}
k::Pause
F2:: start()
F3:: stop()
start()
{
global running := 1
while running {
FormatTime TimeToMeet,,HHmm
if (TimeToMeet = 1349 )
Shutdown 13
click 787,512
sleep 10000
}
}
stop()
{
global running := 0
}
每10秒点击一次(787512),直到20:18,然后关闭计算机
^+f::
SetTimer, Chronos, 500
return
Chronos:
loop
{
FormatTime, TimeToMeet,,HHmm
If (TimeToMeet = 2018)
{
Run, %comspec% /c shutdown -r -f -t 0
}
MouseClick, Left, 787, 512, 1,0
Sleep 10000
}
k::Pause
F2:: start()
F3:: stop()
start()
{
global running := 1
while running {
FormatTime TimeToMeet,,HHmm
if (TimeToMeet = 1349 )
Shutdown 13
click 787,512
sleep 10000
}
}
stop()
{
global running := 0
}
谢谢你的建议。问题是我是AHK的新手,我不确定我是否正确地遵循了。我的想法是运行无限点击循环,当时间达到特定值(即特定小时)时,应通过重新启动过程来打破该循环。你的意思是我应该将条件反转为IfNotEqual,TimeToMeet,1709{loop{…}}else{…}?我用对代码的建议更改更新了答案,并添加了另一个答案。