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

时间:2013-05-15 20:25:30

标签: macos events copy nsnotificationcenter nspasteboard

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

  1. 我正在尝试找到正确的Notification方法,该方法会将数据的复制事件侦听到剪贴板。

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

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

  4. 有什么想法吗?

1 个答案:

答案 0 :(得分:5)

  1. 没有通知。 Devara Gudda 是对的。您从粘贴板请求信息以检查更改(changeCount应该是一个指示符)。
  2. 您应该记住,系统粘贴板是一个共享容器,它只存储有关其包含的数据的信息。所有应用程序都可以随时访问它以获取数据。就是这样。没有其他信息。

    现在,您必须制作一些技巧,将粘贴板数据与您需要的某种环境状态相连接。

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

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

    祝你好运!