gpt4 book ai didi

cocoa - 如果另一个应用程序收到滚动事件,是否有可能收到通知?

转载 作者:行者123 更新时间:2023-12-03 17:07:47 25 4
gpt4 key购买 nike

我正在 Cocoa 中开发一个应用程序,它允许用户在 OS X 中的任何给定窗口上绘图。当在屏幕上拖动时,绘图会与相应的窗口一起移动。为了完成绘图和下面的窗口(及其内容)之间的联系,我想从窗口捕获滚动事件,以便对绘图的定位/可见性使用react。

一个例子:

用户打开 Safari 并浏览网页。在特定网站上,他/她在链接周围画一个圆圈并手写笔记(这全部​​被视为绘图,由数位板输入)。之后,她/他移动窗口,绘图也被移动,以便它们保留在网站链接的顶部。然后她/他开始滚动网站,链接的位置发生变化(向上移动直到位于视口(viewport)之外)。

现在我想捕获该事件,并移动带有绘图的图层,以将它们保持在链接的顶部。当链接不再可见时,我会关闭绘图的可见性,并在滚动使链接重新显示到视口(viewport)时将其重新打开。

我知道这是一个相当棘手的任务,能够从另一个应用程序拦截此类事件也可能被视为操作系统安全缺陷,但也许有人有足够好的编码员给我一个提示......:)

Cocoa Accessibility 类可能会有所帮助,但到目前为止我还没有找到解决方案。

感谢您的帮助。

哦,如果这对您来说不难的话,也许您可​​以告诉我如何在 Safari 切换选项卡时收到通知;)

kkthxbai

最佳答案

我不确定你是否可以监视滚动事件。但是,如果您仅使用 Accessibility API 监控链接的位置,就会容易得多。

只需持有对该链接的引用并不断轮询其位置,如果位置发生变化,您就知道该怎么做。

您也可以尝试使用 AXObserverAddNotification,但据我所知,没有任何通知可以监视位置更改。

如果您还没有发现它,辅助功能检查器可以帮助您识别可以使用辅助功能 API 获得的内容,并且 pfiddlesoft 的 UI 浏览器可让您注册通知。

关于cocoa - 如果另一个应用程序收到滚动事件,是否有可能收到通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3244238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com