我想寫一個腳本,可以控制不同的程序(設置位置和大小)的不同窗口。我已經掌握了一些關於工作的事情,但我在準確識別Windows時遇到了問題。現在我得到了:有沒有辦法讓任何給定的窗口永久標識符
tell application "System Events"
tell application "Mail"
set windowName to name of window 1
end tell
end tell
這是我現在工作的一個相當簡化的版本。我獲取了很多不同的應用程序窗口信息,並存儲它們作爲正在被另外一個腳本後呼籲性質:
tell application "System Events"
tell application "Mail"
set position of window windowName to valueX
end tell
end tell
這工作只要窗口的名稱不會改變。在許多其他應用程序中,我沒有任何問題,因爲窗口標題不會改變(iCal,iChat等)。在郵件中,窗口標題會根據電子郵件箱中的電子郵件數量而變化。如果電子郵件進入腳本的第一部分和最後一部分之間,則腳本失敗。
我不能真正引用窗口的索引號,因爲這些窗口的順序會隨着窗口順序的變化而改變(從前到後)。我想可能窗口ID會起作用,但即使應用程序已退出並重新啓動,並且如果應用程序重新啓動,ID號碼也會更改,我仍需要腳本才能正常工作。我是SOL嗎,還是有我沒有想到的東西?
Yikes,這將是很多工作......現在,我抓住每一個可見的真實過程,然後在所有窗口中循環記錄他們的名字,大小和位置。如果我不得不爲每個過程寫出更多的工作陳述。 – Kris 2011-06-05 21:30:02
是的,如果你想重新創建一個用戶在所有運行的程序中打開的所有窗口,這是一個巨大的任務,因爲對於每個應用程序都沒有一個解決方案。我想這就是爲什麼現在沒有這樣的程序。這不是一個可行的任務。您可以定位一個應用程序或5個特定的應用程序,但不能使其適用於每個應用程序。 – regulus6633 2011-06-05 22:45:25