如何检查程序是否已运行?如果有,我想退出该程序。我在AppleScript工作。

时间:2014-07-28 13:59:38

标签: applescript

基本上我正在制作一个工作程序,让我登录到我需要的所有东西。目前它设置为在计算机启动时运行,它确实运行良好。如果我在同一天重新启动计算机或者甚至更好地运行但跳过某些代码,那么我不想发生的事情会再次运行。就像今天运行goto line x一样。显然我有点像新手,但如果有人有任何想法会很棒的话,我会快速赶上。

1 个答案:

答案 0 :(得分:2)

一种方法是将AppleScript保存为应用程序。然后,存储脚本最后一次在属性中运行的时间。属性值在运行时之间保存。

然后,在运行时,检查属性值以查看它是否包含当前日期或过去的某一天。

以下是一个例子:

property lastRun : date "Saturday, January 1, 2000 at 12:00:00 AM"

on run
    tell (current date) to set today to it - (its time)
    if lastRun = today then
        display dialog "Already ran today."
    else if lastRun > today then
        display dialog "I seem to think that I ran in the future. Check your dates."
    else
        --do something
        display dialog "First time today!"
        copy today to lastRun
    end if
end run

这将在 today 变量中存储当前日期(技术上:当前时间减去当前时间,应该始终是当天的开始)。然后,它针对 lastRun 属性检查 today 变量。然后有一个条件,如果它今天运行,如果它以某种方式运行在未来(表明计算机的日期问题),并且如果它在今天之前的某个时间运行。在后一种情况下,它将 lastRun 重置为今天

请注意,虽然属性是在应用程序的运行时之间保存的,但每次编辑脚本并重新保存时,属性都会重置为脚本中给出的硬编码值。