【问题标题】:Listen to the events occuring in other applications监听其他应用程序中发生的事件
【发布时间】:2019-06-11 10:26:31
【问题描述】:

我正在寻找某种方式来收听事件,例如在某个应用程序中单击。我正在尝试开发一个应用程序(电子),当某些事情发生时我必须生成一些特定的触发器。例如,我的应用程序正在监视浏览器,当用户打开他们的 gmail 帐户并查看一些电子邮件时,我的应用程序就会知道它,然后根据电子邮件的内容向用户提供一些有用的信息。此外,应用程序必须能够在不同的应用程序(如 Slack、Outlook、Safari 等)中查看这些类型的事件。

我听说过一个名为 Accessibility 的功能,但似乎很少有关于在代码中实现它的文档。有什么方法可以实现这个功能还是完全可行?如果有人可以回答这个问题并提供必要的文档链接,那将非常有帮助。谢谢。

【问题讨论】:

  • 对于电子邮件,您可以在其中嵌入图像,例如,当电子邮件被阅读时,链接到您的网站的图像和您的网页被加载,您可以从那里知道电子邮件正在阅读。
  • 您需要编写本机代码才能将您的应用程序注册为无障碍服务。有关这方面的文档可在此处获得:developer.apple.com/documentation/applicationservices/… 这样做的真实应用程序的最简单示例可在此处获得:github.com/aahung/Unshaky 作为记录,我不允许访问任何要求访问权限的程序。这是你试图走的一条非常糟糕的道路。试试@customcommander 在他的回答中所说的话。

标签: node.js applescript electron


【解决方案1】:

这应该是评论而不是答案,但对于单个评论来说太长了。

几个cmets:

  1. 辅助功能可能不是您想象的那样。例如,它是关于如何让视障用户可以使用您的应用程序。见this guide

  2. 能够对其他应用程序进行如此多的控制而无需事先涉及某种授权和/或与某些第三方提供商的集成,这似乎很奇怪(甚至是危险的)。

  3. 除了您的应用程序之外,您的软件包可能还附带一些插件。例如,安装软件包后,您可能能够检测到 Slack 的存在,并触发将插件注册到用户安装的 Slack 实例的过程。 (如果Slack允许以这种方式安装第三方插件;我不知道)

  4. 为了检查浏览器的内容,恕我直言,您最好的选择是编写一个可以与您的应用程序对话的浏览器扩展程序。这实际上是可能的,请参阅 Stack Overflow 上的 this post。安装应用后,您可以通知用户您的浏览器扩展程序可用。

很遗憾,这可能不是您正在寻找的答案,但我希望它能提供一些有价值的见解,让您了解什么是可行的,什么是不可行的。

【讨论】:

  • 他在谈论 mac 中的accessibility services 以及您可以编写一个程序以注册为可访问性服务并因此检索有关用户所做的信息的事实。
  • 感谢@SoroushFalahati 的澄清。这可能就是 OP 的真正含义。
猜你喜欢
  • 2020-08-23
  • 2018-11-23
  • 2011-08-22
  • 2017-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-10
相关资源
最近更新 更多