在点击鼠标循环中重新启动不起作用
问题描述:
我试图在点击鼠标循环运行时的特定时间重新启动PC。我使用if + else条件,并且当我尝试单独运行这两段代码时,脚本可以工作,但是当放在一起时,只有鼠标点击循环正在运行,而定时器进程不起作用。任何想法有什么不对?在点击鼠标循环中重新启动不起作用
^+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
答
循环语句从不退出。
你正在使用一个计时器,所以我假设你想让你的代码被事件驱动。如果是这种情况,请使MouseClick成为计时器的一部分,而不是休眠循环。
如果你不想使用事件,把你的关机条款环路
此点击(787512)每10秒内,直到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
答
该喀嗒声(787512),每10秒,直到20:18,此时它关闭计算机向下
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
}
+0
非常感谢,吉姆。它像梦一样运作。 :-) – Trix
谢谢你的建议。问题是我是AHK的新手,我不确定我是否正确遵循。我的想法是运行无限循环,当时间达到特定值(即特定小时)时,应该通过重新启动过程来中断循环。你的意思是我应该改变这种情况:IfNotEqual,TimeToMeet,1709 {loop {...。}} else {...。}? – Trix
我更新了您的代码建议更改的答案,并添加了另一个答案。 –