2014-11-08 64 views
1

我使用的是Mac OS X 10.10,我想編寫一個程序,該程序不斷查找窗口,分析打開的窗口的所有名稱。當窗口出現時,我希望程序會尋找帶有特定標籤的按鈕,一旦找到它,應用程序應該發送一個「按下的消息」。 我可以在Windows下完成,但我對Mac不太熟悉。 我發現了一個與我的相關的問題(How do I get a list of the window titles on the Mac OSX?),但我認爲最困難的部分是找到按鈕併發送一個「按下的消息」。Mac OS X 10.10按標題查找窗口,按標籤查找按鈕並按下它

預先感謝您!

回答

0

您在尋找的是Accessibilty API。這些主要是Core Foundation C風格的API,通常以AX爲前綴。 您可能還想考慮窗口標題之外的其他標識符,因爲窗口標題不一定是唯一的。

使用AX API並不容易,而且非常冗長。您可以使用它們來探索用戶界面並查找事物並與它們進行交互,但您可能在觀察用戶交互方面獲得更多有限的成功。這可能需要使用NSEvent globalMonitor或CGEventTap根據所涉及的UI小部件進行事件監視更脆弱的組合。

另請注意,使用AX API控制應用程序外部的任何內容都不是沙盒功能。

+0

非常感謝! – Nisba 2015-06-13 12:54:20

+0

雖然我應該注意,如果用戶通過將您的應用程序添加到安全首選項來手動啓用它,您的應用程序可以控制其他事情。沒有一種很好的方式來編程和沙盒兼容 – uchuugaka 2015-06-13 22:09:48