不活动期间,运行脚本

时间:2015-02-17 15:17:00

标签: autoit

我要做的是仅在用户处于非活动状态时运行.exe。当屏幕再次激活时,脚本应该重新启动。

逻辑:

While True:
     Is the user active:          
     NO-> Is the .exe running -> Yes: Do nothing  No: run the Program
     YES -> Close the .exe 

有关如何使用Auto It

进行编程的任何建议

编辑:

不活动:没有用户活动(移动鼠标或其他方式) 运行程序:这是一个自定义的.exe文件,它将保存在同一个文件夹中。

这适用于Windows机器,而不是Linux机器

1 个答案:

答案 0 :(得分:2)

  

_Timer_GetIdleTime()正是您所需要的。
返回数字   自上次用户活动以来的刻度(即KYBD /鼠标)

使用示例:

#include <Timers.au3>

$InactivityTrigger = 5*1000 ;inactive for 5 seconds
$myExe = "calc.exe"
$PID = 0

While True

    $InactiveFor = _Timer_GetIdleTime()

    If $InactiveFor >= $InactivityTrigger And Not $PID Then

        $PID = Run($myExe)
        ConsoleWrite("started" & @CRLF)

    ElseIf $InactiveFor < $InactivityTrigger And $PID Then

        ProcessClose($PID)
        $PID = 0
        ConsoleWrite("stopped" & @CRLF)

    EndIf

    If Not $PID And Not IsFloat($InactiveFor/10) Then ToolTip("Inactive for: " & Round($InactiveFor/1000) & " seconds." & @CRLF & @CRLF & _
                   "Will run exe in " & Round( ($InactivityTrigger-$InactiveFor)/1000 ) & " seconds." )

Wend