【问题标题】:Can an applescript "tell" call execute without visibly launching the application?可以在不明显启动应用程序的情况下执行 applescript“告诉”调用吗?
【发布时间】:2011-02-17 19:13:16
【问题描述】:

我设置了一个邮件规则来启动以下小程序:

使用应用程序“邮件”中的术语 使用消息执行邮件操作 theMessages for rule theRule 告诉应用程序“邮件” ——做一些事情,包括…… 检查地址簿(名称,地址) 结束告诉 结束使用消息执行邮件操作 结束使用条款 在 CheckAddressBook(theName, theAddress) 上 告诉应用程序“通讯录” - 做东西 结束告诉 结束检查地址簿

每当此邮件规则执行时,它都会启动通讯簿。它没有激活,但它突然出现在我的桌面上。我的问题是,是否可以指示块以静默方式启动应用程序,并在完成后退出?

【问题讨论】:

  • 是否要在脚本运行后保持通讯簿打开?否则,您可以使用tell application "Address Book" to quit
  • @Fábio Perez - 实际上我并不关心这两种方式,我更好奇为什么它总是明显启动,而不是在没有 gui 的情况下启动进程。
  • 我认为这是因为通讯簿在您调用时未打开。然后,脚本只是打开应用程序,当您打开应用程序时,它会获得焦点。

标签: applescript tell


【解决方案1】:

AppleScript 无法控制没有运行的应用程序。这就是它的工作方式。您可以使用其他方法在不启动应用程序的情况下访问通讯簿数据库,但如果您使用 AppleScript 从通讯簿数据库获取数据,则必须启动应用程序。我的建议是按照 Fábio 的建议简单地添加一个退出命令。

【讨论】:

    【解决方案2】:

    要在不启动“Address Book.app”的情况下阅读地址簿数据库,我建议查看免费提供的命令行工具“联系人”here。然后,您可以像 do shell script "/usr/bin/contacts Peter" 这样从 Applescript 运行它并处理返回的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多