如何编写Applescript,它会给我一个每小时的弹出警报

时间:2010-09-15 14:20:07

标签: macos applescript

我想知道如何每小时在我的电脑(Mac OS X)上发出一个弹出警报。我认为在Applescript中写这个很简单,但我没有Applescript经验。感谢

2 个答案:

答案 0 :(得分:8)

在AppleScript中定期执行操作的基本处理程序是空闲处理程序。

on idle
 display dialog "Go back to work" buttons "Work Harder" default button "Work Harder"
 return 3600
end idle

此脚本将在您启动应用程序时弹出一个对话框,然后在按下按钮后每隔3,600秒弹出一个对话框。无论处理程序返回的是什么数字都将是触发下一个空闲事件之前的秒数。

如果你希望它在半小时而不是每六十分钟,你需要空闲脚本返回不同的秒数,也许是60,然后检查你是否在右边部分时间。

on idle
 if the minutes of the (current date) is 30 then
  display dialog "Go back to work" buttons "Work Harder" default button "Work Harder"
 end if
 return 60
end idle

这只会在一半时间显示对话框。 (与Unix一样,AppleScript的当前日期概念包括当前时间。)

在每种情况下,您都希望在AppleScript编辑器中将其保存为“应用程序”和“保持打开状态”,以使其响应空闲事件而不是仅在运行后退出。您可以将应用程序添加到“帐户”系统首选项中的“登录项目”列表中,以使其在您登录时自动运行。

答案 1 :(得分:0)

在测试Jerry解决方案后,我发现了一个问题。如果您的AppleScript应用程序在事件发生时没有“顶部”,您可能会收到AppleScript错误,并且唯一会打电话给您的是该文档中的icone眨眼。 所以我做了一个小改动: 打开AppleScript编辑器并输入:

on idle
  tell application "call_me"
    activate
  end tell
  display dialog "Back to work" buttons "Work!" default button "Work!"
  return 3600
end idle

在选择文件选择器底部菜单中的“Aplication”时保存脚本,然后选中“Do not quit”(法语为“Ne pas quitteraprésl'exécution”),这样App即使在事件。 您必须为您的应用程序指定名称“call_me”,或者,如果您更改名称,请在代码中更改此名称(告诉应用程序“xxxx”激活) 每3600秒,应用程序将被打顶,然后将显示警告框。

只有一点:第一次保存应用程序时,Applescript会显示一个选择器,然后问你“Call_me.app在哪里?”只需取消此选择器并保存。

哦!我要回去工作了!!