使用AutoIT每3分钟执行一次操作

时间:2016-07-01 00:30:37

标签: autoit

我是使用AutoIT的新手,我正在尝试做的是每2分钟移动一次鼠标,这样会话就不会超时。问题是,即使我的代码没有语法错误,它也不起作用,我似乎无法在线找到我想做的教程。我的代码如下:

$new_customer

3 个答案:

答案 0 :(得分:1)

为定时调用执行回调函数更有用。

AdlibRegister('_MouseMove', 2000*60)   ; calls the function every 2000*60 ms
OnAutoItExitRegister('_UnRegister')    ; unregister the callback function when the script ends

Func _MouseMove()
    Local $aPos = MouseGetPos()
    ; move 1px right and back after a short brake - so that your interface can detect the movement
    MouseMove($aPos[0]+1, $aPos[1])
    Sleep(50)
    MouseMove($aPos[0], $aPos[1])
EndFunc

Func _UnRegister()
    AdlibUnRegister('_MouseMove')
EndFunc

顺便说一句:使用AutoIt增加值可以正常工作

$x += 1   

编辑: 我不确定,如果你想要2或3分钟(你已经写过两者)。因此,您可以在AdlibRegister()中的time参数中更改它。间隔必须以ms为单位。

答案 1 :(得分:0)

在SciTE中运行脚本时,您应该看到以下错误消息:

enter image description here

仅在声明变量时才需要global关键字。使用变量时,您必须省略global关键字。您应该相应地更改脚本,然后它可能会起作用。

答案 2 :(得分:0)

以下脚本每3分钟将鼠标移动一个像素,防止会话超时,对计算机使用的影响最小。

HotKeySet( "{ESC}" , "Sair")

While True
    MouseMove(MouseGetPos(0)+1,MouseGetPos(1))
    Sleep(180000)
    MouseMove(MouseGetPos(0)-1,MouseGetPos(1))
    Sleep(180000)
WEnd


Func Sair()
    Exit
EndFunc