2011-02-17 49 views
5

我有一個郵件規則設置啓動以下的AppleScript:可以在沒有明顯啓動應用程序的情況下執行一個applescript「tell」調用嗎?

 
using terms from application "Mail" 
    on perform mail action with messages theMessages for rule theRule 
     tell application "Mail" 

      -- do stuff, including... 
      CheckAddressBook(theName, theAddress) 

     end tell 
    end perform mail action with messages 
end using terms from 

on CheckAddressBook(theName, theAddress) 
    tell application "Address Book" 
     -- do stuff 
    end tell 
end CheckAddressBook 

每當這個郵件規則執行,它將啓動通訊錄。它沒有激活,但它突然出現在我的桌面上。我的問題是,是否可以指示塊以靜默方式啓動應用程序,並在完成時退出?

+0

您想在腳本運行後保持地址簿打開嗎?否則,您可以使用「告訴應用程序」地址簿「退出」。 – 2011-02-17 19:47:53

+1

@FábioPerez - 我其實並不在乎,不管怎樣,我更好奇爲什麼它總是明顯地啓動,而不是在沒有GUI的情況下啓動進程。 – eykanal 2011-02-17 19:55:16

回答

4

AppleScript無法控制未運行的應用程序。這只是它的工作方式。您還可以使用其他方法訪問通訊簿數據庫而不啓動應用程序,但如果您使用AppleScript從通訊簿數據庫獲取數據,則應用程序必須啓動。我的建議是簡單地按照Fábio的建議添加退出命令。

2

要在不啓動「Address Book.app」的情況下閱讀地址簿數據庫我建議查看免費提供的命令行工具「contacts」here。然後,您將從Applescript運行它,如do shell script "/usr/bin/contacts Peter",並處理返回的值。

相關問題