2012-09-24 73 views
1

我有一個似乎使用(在某種程度上)本機窗口,完成與熟悉的窗口管理按鈕,甚至全屏模式按鈕的幾個基於Java的應用程序。但是,我似乎無法使用傳統方式從AppleScript訪問這些窗口。有沒有辦法做到這一點?從AppleScript訪問Java應用程序中的本機窗口?

目前,我有一個現有的腳本,原生可可的應用程序工作正常,但是當它試圖訪問Windows Java應用程序,它沒有找到任何(計數窗口的數量會回來0)。

以IntelliJ IDEA的作爲一個具體的例子。我如何訪問各個窗口才能對其執行操作(例如,單擊最小化或全屏按鈕)?

更新: 下面是一個簡單的例子,適用於可可應用程序,但不是Java應用程序。在這種情況下,我找回了消息「每一個窗口不明白計數消息」像你想你可以告訴應用程序做一些事情的唯一情況是如果應用程序是蘋果編寫腳本

tell application "Safari" 
    activate 
    set wins to count of windows 
    display dialog wins 
end tell 
+0

您還沒有表現出任何代碼。通常有兩種方法可以獲取窗口,1)從應用程序或2)使用系統事件進程。如果你無法得到它們,那麼applescript不會這樣做,它們可能不是原生的可可窗口。 – regulus6633

回答

1

例如它是否有一個applescript字典,並且該字典是否有你需要的命令?我懷疑你的java應用程序是可腳本化的,所以這種方法將無法工作。

你很幸運,你需要一個窗口命令,因爲系統事件瞭解的窗口命令,可以經常給你的過程的窗口。嘗試這個。只需將流程名稱更改爲您想要的流程,然後查看它是否有效。如果沒有,那麼applescript可以幫助你。

tell application "System Events" 
    tell process "Safari" 
     set wins to count of windows 
    end tell 
end tell 
display dialog (wins as text) 

FYI:如果你需要找到你的應用程序的名稱,你可以使用這個...

tell application "System Events" to return name of application processes 
+0

嗯,這似乎總是回來爲0(至少與書面的例子)。 – Wilco

相關問題