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

如何检查程序是否已运行?如果有,我想退出程序。我在AppleScript工作。,applescript,Applescript,基本上,我正在为工作制作一个程序,让我登录到我需要的所有东西。目前,它被设置为在计算机启动时运行,并且运行正常。但是,如果我在同一天重新启动计算机,或者更好地运行,但跳过某些代码,我不希望再次运行。就像今天跑去x线。显然我是个新手,但如果有人有什么好主意,我会很快理解的 一种方法是将AppleScript保存为应用程序。然后,在属性中存储上次运行脚本的时间。属性值在运行时之间保存 然后,在运行时,检查属性值以查看它是否包含当前日期或过去的某一天 下面是一个例子: property lastRun

基本上,我正在为工作制作一个程序,让我登录到我需要的所有东西。目前,它被设置为在计算机启动时运行,并且运行正常。但是,如果我在同一天重新启动计算机,或者更好地运行,但跳过某些代码,我不希望再次运行。就像今天跑去x线。显然我是个新手,但如果有人有什么好主意,我会很快理解的

一种方法是将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重置为今天

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