2013-05-15 32 views
0

我讀NSPasteboard,然後想找到....的Mac偵聽事件:複製到粘貼板

  1. 我想找到一個監聽數據的副本事件的正確方法的通知剪貼板。

  2. 另外我想找到複製到剪貼板的數據的文件路徑。這將是一個紙板對象。

  3. 如果我從瀏覽器中的頁面複製文本,我試圖找出如何獲取文本從中複製的頁面的URL地址。

任何想法?

+3

點#1在這裏討論http://stackoverflow.com/questions/3610600/get-notified-when-something-is-added-to-nspasteboard – Raviprakash

回答

4
  1. 沒有通知。 Devara Gudda是正確的。您可以通過粘貼板請求信息來檢查更改(changeCount應該是一個指示器)。

您應該記住系統粘貼板是一個共享容器,它只存儲它所包含數據的相關信息。所有應用程序都可以隨時訪問它以獲取數據。就是這樣。沒有其他信息。

現在,您需要製作一些技巧來將粘貼板數據與您需要的某種環境狀態進行連接。

是的,我設法得到了粘貼板數據的源代碼應用程序。我正在運行應用程序時跟蹤當前活動的應用程序。當粘貼板更改它的內容時,我可以看到此時應用程序處於活動狀態。現在這不是一個理想的解決方案 - 有些情況不能被這種方法所覆蓋。但99%的情況仍然有效。

我不知道如何獲得問題#2和#3所需的信息。但我希望你能應用這些知識,併發明一些棘手的方法:)

祝你好運!

+0

超級有用。再加一個這個。然而,正如UJey所說,我仍然需要#2&#3的幫助。 – LJWilliamsIV