我正在尝试使用辅助功能 API 自动化外部 OSX 应用程序。一些
应用程序的状态无法通过 API 获得,因此我通过以下方式获取它
屏幕刮擦。为此,我需要获取可访问性对象的 CGWindowID
“窗口角色”。
有没有直接的方法来获取“窗口角色”可访问性对象的 CGWindowID?
我可以通过匹配窗口的各种属性来启发式地获得它,例如
大小、标题和位置,但这确实很老套,如果我的
应用程序也将支持极端情况,即使它们不太可能发生。
至少 Leopard 及以上版本有一个函数(从 10.7.3 开始仍然存在):
extern "C" AXError _AXUIElementGetWindow(AXUIElementRef, CGWindowID* out);
不过,有关使用此类内容的常见警告仍然适用。一旦下一个操作系统更新,它可能会改变!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)