.NETにプロセス間通信が搭載されているのでそれを利用すればできると思います.
https://msdn.microsoft.com/ja-jp/library/system.runtime.remoting.channels.ipc.ipcchannel(v=vs.110).aspx
(プロセス間通信を行う簡単なコード例があったので掲載しておきます)
http://programmers.high-way.info/cs/ipc.html
質問の例を実現するために自分なりに考えてみたところ,
アプリケーション起動時に,相方アプリケーションを探すポーリング処理を記述し,
相方アプリケーションを見つけ次第,ドラッグアンドドロップのイベントハンドラにイベントを登録するといった感じでしょうか.
もしくは,クリップボードを活用した実装方法でしょうか.データがクリップボードに入れれるものであればこっちのほうがシンプルかもしれません.
https://msdn.microsoft.com/ja-jp/library/fe5ebfwe(v=vs.110).aspx
私の知識でわからないことが1点(View周りのことで)あって,おそらくドラッグアンドドロップをさせようとなると,WPFが持っているコントロール(ボタンなりラベルなり)をマウスに追従させて移動させたくなると思います.
そのコントロールをウィンドウ外にだせるのかどうかがわかりません.
私の分かる範囲の回答ですと,データのやり取りは可能だが,WPFのコントロール単位でのやり取りはできるのかどうかわからないという感じです.
追記
全く別のアプローチとして,2つのアプリケーションにするのではなく,1つのアプリケーションに2つのウィンドうをもたせるというアプローチを思いつきました.
この方法であれば,プロセス間通信よりもシンプルでかつクリップボードよりも幅広いアプローチができるかもしれません.
この方法であれば,ウィンドウAがデータを受け取るデリゲートを作りBがドラッグアンドドロップのイベントでデリゲートを実行しAの値を書き換えると言った感じでしょうか.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/03/24 23:20