Mac侦听事件:复制到粘贴板

LJW*_*sIV 0 macos events copy nsnotificationcenter nspasteboard

我正在阅读NSPasteboard,然后想找到....

  1. 我试图找到正确的通知方法,该方法监听数据到剪贴板的复制事件.

  2. 此外,我试图找到复制到剪贴板的数据的文件路径.哪个是粘贴板对象.

  3. 如果我从浏览器中的页面复制文本,我试图找出如何获取文本从中复制的页面的URL地址.

有任何想法吗?

UJe*_*Jey 5

  1. 没有通知.Devara Gudda是对的.您从粘贴板请求信息以检查更改(changeCount应该是一个指标).

您应该记住,系统粘贴板是一个共享容器,它只存储有关它包含的数据的信息.所有应用程序都可以随时访问它以获取数据.就是这样.没有其他信息.

现在,您需要制作一些技巧来将粘贴板数据与您需要的某些环境状态相关联.

是的,我已经设法获得了粘贴板数据的源应用程序.我正在运行我的应用程序时跟踪当前活动的应用程序.当粘贴板更改其内容时,我可以看到此时哪些应用程序处于活动状态.现在这不是一个理想的解决方案 - 这种方法无法涵盖这种情况.但它仍然适用于99%的情况.

我不知道如何获得问题#2和#3所需的信息.但我希望你能运用这些知识并发明一些棘手的方法:)

祝好运!