2011-04-26 63 views
2

我在想如何編寫沒有字典的應用程序。我找到的所有信息都沒有告訴我什麼。但我的經驗告訴我,有一種方法。 例如:AppleScript和非腳本應用程序

tell application "Firefox" 
    return count of windows 
end tell 

將工作。它將與「歌劇」和其他沒有字典的應用程序一起工作。所以問題是: 1)爲什麼它的工作? 2)還有什麼用這種方式工作?是否有所有這些行動的清單?

提前致謝!

回答

8

您可以到沒有AppleScript字典一定程度上的腳本應用程序使用「告訴應用程序‘系統事件’」

tell application "Keynote" activate 
tell application "System Events" to keystroke "c" using {command down} 
end tell 
end tell 

本示例激活主題,然後將當前的選擇。您可以在許多應用程序中使用類似的代碼,即使它們沒有applescript字典,前提是您還擁有「通用訪問」系統首選項中的「啓用對輔助設備的訪問」選項。

編輯:

這份文件給出了可可如何提供在所有的應用程序Applscript一些支持的一些細節: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ScriptableCocoaApplications/SApps_about_apps/SAppsAboutApps.html

在內置支持標準和文本套房標題

+0

我知道。但我的例子不使用通用訪問和GUI腳本。所以它使用了其他一些我試圖找到的東西。我的Mac – ixSci 2011-04-26 15:52:45

+0

鏈接上的通用訪問被禁用,編輯後的鏈接看起來很合適。謝謝! – ixSci 2011-04-26 16:06:36

3

可以打開FireFox的腳本字典。只需打開AppleScript編輯器並轉到文件→顯示字典,然後從列表中選擇FireFox。

它只是顯示一個非常基本的詞典。會發生什麼情況是系統庫爲任何Carbon或Cocoa應用程序提供了至少一組基本命令(稱爲標準套件)。這是包含您使用的window的定義。

正如伊恩已經寫道,爲了做更多這樣的應用程序,您可以使用所謂的UI腳本通過System Events。 這個nice website是一個很好的開始。