的名單我是新來的可可,我想知道我怎樣才能打開的所有窗口的列表。我不是在談論運行程序,因爲這將是一件容易的事情。我想列出窗口,例如,如果我已預覽運行10 pdf打開,我的程序應該能夠檢索所有這些pdf的列表。 我也想知道是否有一些API可用於與外部應用程序已經打開的窗口進行交互(也可能會移動它們或執行其他操作)。 謝謝。獲取打開的窗口可可
回答
首先,可可不是首字母縮寫,所以它不是「可可」。 :-)
其次,您唯一的(公共API)選項是Accessibility API。您必須在系統偏好設置的輔助功能面板中啓用對輔助設備的訪問。
看看該文檔上手:Accessibilty Overview
改成了「可可」 :-) 我會看看輔助功能API,我希望我會找到我需要的一切。謝謝。 – Raffo 2010-01-25 18:43:43
我已經預覽了10 PDF打開運行,我的程序應該能夠檢索與所有這些PDF格式的列表。
嗯,這是最困難的部分。您可以通過輔助功能獲取窗口,但輔助功能不會將它們與任何類型的文檔對象相關聯。
AppleScript可以用於某些應用程序,但Preview不是其中之一。事實上,大多數應用程序不是。
所以,你可以得到的窗口很輕鬆了名單,但獲得有意義的信息約或從內這些窗口從棘手的範圍幾乎是不可能的。您最好的選擇可能是針對不可編寫腳本的應用程序的輔助功能,AppleScript和錯誤報告的組合,以及您的應用程序無法正常運行的知識。
所以這個想法比我想象的更難...但是也許如果我只是可以得到窗口標題,我可以有文件名,但這並不明顯,根本就沒有用處。 – Raffo 2010-01-26 20:46:46
是的,因爲單獨的文件名不會告訴你*它在哪裏,並且許多不同的文件可能具有相同的名稱;並且因爲用戶可能會打開多個具有相同名稱的文件,所以無法分辨哪個窗口可識別哪個文件。 – 2010-01-26 21:33:56
@ PeterHosey的提示* AppleScript *絕對不是最美麗的,但卻是我找到的最簡單最直接的方式。這是我在我的Cocoa應用程序中使用的:'告訴應用程序(路徑到最前面的應用程序作爲Unicode文本)以獲取(文檔1的路徑)'獲取當前*文檔* – 2015-01-06 16:00:16
,如果你需要的窗口控制的窗口列表或UI具體, 如果UI具體的控制,你可以參考蘋果son of Grab例如,
它顯示在桌面上運行的Windows目錄,也許你可以修剪下來的票面您的需求。
您可以使用CGWindowListCopyWindowInfo
來檢索當前用戶會話中的窗口列表。
這是一個碳功能,雖然 - 不是可可 - 但是從可可應用程序調用的完美,在這裏記載:Quartz Window Services Reference : CGWindowListCopyWindowInfo()。
- 1. 獲取打開的窗口列表C#
- 2. 從窗口獲取對象可可
- 3. 可以打開FIie Upload PopUp窗口
- 4. 打開窗口並獲取其URL?
- 5. 獲取CRM彈出窗口刷新打開窗口
- 6. 如何更改可可中打開窗口的順序?
- 7. 可可:如何重新打開關閉的窗口
- 8. 在可可中打開一個新窗口時關閉舊窗口
- 9. 如果沒有其他窗口打開,請重新打開窗口。蘋果,可可
- 10. 我可以從ModalDialog窗口中獲得開啓器窗口嗎?
- 11. 窗口打開
- 12. 你可以在Outlook Addin(VSTO)中打開窗體或窗口嗎
- 13. 如何獲取由彈出窗口打開的窗口的標題?
- 14. 窗口打開之前窗口的SetParent
- 15. 點擊後小窗口打開即可開啓全選活動
- 16. 獲取可可中活動窗口的圖像表示
- 17. 如何從可可中的CFTypeRef獲取窗口號?
- 18. 從可可中的窗口標識獲取應用圖標
- 19. 是否有可能在Silverlight的子窗口中打開對話框窗口?
- 20. 打開新窗口
- 21. 打開新窗口
- 22. 打開新窗口
- 23. 打開PDF /窗口
- 24. 如何獲取所有已打開的子窗口的引用
- 25. 獲取所有打開的窗口的標題
- 26. 獲取關於打開的新窗口的信息
- 27. 什麼JavaScript代碼可以用來在新窗口中打開,而不是我之前打開的窗口
- 28. 如何檢測何時打開新窗口和/或獲取打開的窗口列表?
- 29. 是否可以打開基於php條件的彈出窗口
- 30. 拉德窗口可以拖動/打開的屏幕bounderies
如果你是新來的可可,這是不適合你的話題。這很難,解決方案不會涉及太多可可... – 2010-01-25 23:27:32
是的,我知道,但我希望能夠解決這個問題。當然,我正在學習可可,而且我對電腦編程並不陌生,所以我認爲可可對我來說不是問題。問題是,我想要做的是很難爲已經寫好的原因。 – Raffo 2010-01-30 21:10:16