我使用Mac OS X 10.10并且我想编写一个程序,该程序持续查看分析打开的窗口的所有名称的窗口。当窗口出现时,我希望程序会找到一个带有特定标签的按钮,一旦找到它,应用程序应该发送一个"按下的消息"。 我可以在Windows下完成它,但我对Mac并不熟悉。 我找到了一个与我相关的问题(How do I get a list of the window titles on the Mac OSX?),但我认为最困难的部分是找到按钮并发送一条"按下的消息"。
提前谢谢!
答案 0 :(得分:0)
您正在寻找的是Accessibilty API。这些主要是Core Foundation样式的C API,通常以AX为前缀。 您可能还需要考虑窗口标题之外的其他标识符,因为窗口标题不一定是唯一的。
使用AX API并不容易,而且非常冗长。您可以使用它们来浏览UI并查找内容并与它们进行交互,但您可能在观察用户交互方面取得的成功有限。这可能需要使用NSEvent globalMonitor或CGEventTap进行事件监视的更脆弱的组合,具体取决于所涉及的UI小部件。
另请注意,使用AX API控制应用程序之外的任何内容都不支持沙箱。