我想通过制作一个简单的后台应用程序来尝试一些 Mac 编程,该应用程序记录用户在其他应用程序中突出显示的文本的所有历史记录,无论是 PDF、word 文档还是网页(听起来很傻,但对我来说非常有用)。是否可以?
问问题
587 次
1 回答
1
在一般情况下这是不可能的,即使一次考虑一个应用程序也非常棘手。对于某些使用代码注入的应用程序可以实现(但这非常脆弱),并且对于使用 AppleScript 的某些应用程序理论上可以实现(但前提是该应用程序可以帮助您)。
更常见的是创建服务,它允许您与其他应用粘贴板集成(通过用户干预)。但几乎没有应用程序将 API 暴露给它们的突出显示。
@nielsbot 提出了一个有趣的问题,也许这是一种方法。您将调用AXUIElementCreateSystemWide
创建一个系统范围的可访问性对象,然后将自己添加为等待的观察者kAXSelectedTextChangedNotification
。这可能适用于可访问的应用程序(大多数使用标准小部件的应用程序)。所以值得研究。
于 2012-10-31T02:16:11.950 回答