2011-12-19 4 views
0

私のプログラムがDragEnterからGiveFeedbackにカーソルを変えるなど、あるパートから別のパートに送る情報があります。これは変数としてフラグとして簡単に実行できます。しかし、ユーザーがプログラムのいくつかのインスタンスを起動するとどうなりますか?プログラムの複数のインスタンスを取得して情報を共有する最も良い方法は何ですか?

1つの方法はファイルに情報を書き込むことですが、ディスク操作をできるだけ少なくすることが最善の方法です。別の方法はパイプを使うことですが、プログラムのインスタンスが多い場合は少し複雑に思えます。別の方法がありますか?

+0

あなたはデザインパターンを求めていますか? – AlfredoVR

+0

アプリケーションの複数のインスタンス間で情報を共有する必要があるのはなぜですか?どのデータを共有しますか? '[IDataObject'](http://msdn.microsoft.com/en-us/library/system.windows.forms.idataobject.aspx)を使って、その情報を' DragEnter'イベントに渡すことはできませんか? –

+0

@AllonGuralnekそれは良いと思う。あなたはどうやってそれをしますか?私が知る限り、 'UseDefaultCursors'は' GiveEleter'ではなく 'GiveFeedback'でしかアクセスできません。 – ispiro

答えて

7

memory mapped filesをご覧ください。

メモリマップファイルには、仮想メモリ内のファイルの内容が含まれています。ファイルとメモリ空間との間のこのマッピングは、複数のプロセスを含むアプリケーションがメモリに直接読み書きすることによってファイルを変更することを可能にする。

+0

素晴らしい!これはちょうど私が探していたものと思われる。 – ispiro

0

Model-View-Controller おそらく私はそれを設定する方法でしょう...それはあなたの質問を正しく理解している場合です。

+0

"私はあなたの質問を正しく理解しています。"私はあなたがいるとは思わない。私はMVCがIPCの一般的な解決策であることに気づいていません。 – vcsjones

関連する問題