我正在使用 NSWorkspaceNSWorkspaceDidActivateApplicationNotification
来检测活动应用程序何时更改。我NSRunningApplication
从通知的 userInfo 键中获取。
当活动文档更改时,我需要收到通知。我可以通过使用辅助功能框架的NSAccessibilityDocumentAttribute
键来获取活动文档AXUIElementCopyAttributeValue()
。
我需要一种更准确的方法来检测文档何时更改而不是轮询。一些应用程序使用多个窗口,而其他应用程序使用具有多个选项卡的单个窗口。对于选项卡式应用程序,窗口会返回当前查看的文档。
我不必使用可访问性框架。AppleScript(脚本桥)似乎也能够获取窗口的文档,但可访问性框架似乎适用于更多应用程序。
我只关心活动文档、活动窗口、活动应用程序。目前关注的重点是系统。
我一直在测试 Sublime Text 2 和 Xcode 等应用程序。Sublime 返回当前选择的选项卡,Xcode 返回活动项目。