2011-11-13 4 views
0

"NSPasteboardオブジェクトはペーストボードサーバーとの間でデータを転送します。サーバーは実行中のすべてのアプリケーションによって共有されます。あるアプリケーションが別のに転送したいこと、ならびに他のデータ。NSPasteboardオブジェクトは、サーバに、すべてのペーストボード操作にアプリケーションの唯一のインターフェースである。NSPasteboardを使用してアプリケーション間でデータを転送する方法(コンテキストメニューを使用)

アンNSPasteboardオブジェクトがアプリケーションとの間のデータ転送にも使用されます各アプリケーションのサービスメニューに表示されているサービスプロバイダ。ドラッグペーストボード(NSDragPboa rd)は、ユーザーがドラッグしているデータを転送するために使用されます。

これはAppleのNSPasteboardのドキュメントで見つかりました。これまでは単純なコピー・ペーストの目的でペーストボードを使用する方法しか知りませんでした。ドラッグアンドドロップの代わりにコンテキストメニューを使用して、アプリケーション間でペーストボードサーバーを介して非コピー - ペースト目的のデータを転送する方法を知りたいと思っています。たとえば、ユーザーが単語を右クリックしてコンテキストメニューの「辞書で検索」をクリックすると、その単語は(恐らく)ペーストボードを介して辞書アプリに送信されます。

ユーザーが「辞書で検索」を使用した単語を保存しているペーストボードサーバーのデータにアクセスする方法を示す概念実証アプリを実演できるかどうかを確認できますか?

答えて

0

"Look up in Dictionary"ペーストボードを見つける必要はありません。 (もしあれば)。しかし、NSPasteboardクラスのメソッドがあります。このメソッドは、アプリケーション間でペーストボード経由でデータを転送する場合に使用します。

+ (NSPasteboard *)pasteboardWithName:(NSString *)name 

両方のアプリで同じ名前を使用するだけで、それらの間でデータを転送できます。作業が終わったら、このペーストボードに- releaseGloballyと電話してください。

+0

答えに感謝します。両方のアプリが私のものであれば、あなたの方法はうまくいくでしょう。しかし、私はただ疑問に思っています。他のアプリケーションからペーストボードのデータを「傍受する」ことは可能ですか?たとえば、どのアプリケーションでもユーザーが「辞書で検索」を使用したときにいつでもシステム全体のサービスを追跡したい場合は、どうすればよいのでしょうか? – hollow7

+0

必要なのは、使用したペーストボードの名前を知ってから、その-changeCountをポーリングするだけです。 –

関連する問題