2012-03-07 43 views
10

2つのアプリケーションの間にWM_COPYDATA IPCを実装する必要があります。私はインターネット上のサンプルに見えますが、それらの文字列は255文字未満の文字列しか送信しません。WM_COPYDATA SendMessage - 大きな文字列を送信できますか?

WM_COPYDATAを使用して、大きな文字列(1k以上)を別のプロセスに送信します。出来ますか?限界は何ですか?文字列やレコードの代わりにストリームを送信する必要がありますか?

両方のアプリケーションは、Delphi 2010を使用して私によって開発されました。

+0

なぜ私は-1を得ましたか? –

+3

私は分かりません。あなたに+1してバランスをとった。特に、ここでは[タグ:デルファイ]で、無条件で有権者がいることがあります。数日前に同じ事が[私の質問](http://stackoverflow.com/questions/9572887/3d-library-recommendations-for-interactive-spatial-data-visualisation)に起こりました。 –

答えて

8

制限はありません。 WM_COPYDATAを使用して、利用可能なメモリの制約に従って、好きなだけ大きなデータを送信できます。

+0

win32では基本的に2ギガ程度か? :-) –

+0

@ Warren 32ビットプロセスでは、それほど連続したアドレス空間を見つけるのは難しいです。 –

+2

実際に2GBのデータを送信する必要がある場合は、一時ファイルを使用してファイル名を渡すか、COMのIDataObjectおよびIStreamインターフェイスを使用する方がよいでしょう。 –

関連する問題