Delphiの2つのWindowsアプリケーション間で通信しようとしています。送信者は、WM_COPYDATAを使用してSendMessageを介してコマンドを送信します。その部分は正常に機能しています。受信者が同じ呼び出しでいくつかの結果文字列を返信することは可能ですか?それは私にとって失敗していて、次のことが今起こっていることです。
送信者はWM_COPYDATAを使用して、ブロッキング呼び出しSendMessgeを使用して受信者にコマンドを送信します。
受信者はコマンドを処理し、COPYDATASTRUCTをいくつかの結果文字列で変更します。これらの結果文字列は、送信者に返送してイベントハンドラーを終了する必要があります。
受信者の「SendMessage」関数は戻りますが、COPYDATASTRUCTの内容は変更されていません。
どうやらWindowsのメッセージングメカニズムは2つのアプリケーション間でCOPYDATASTRUCTメモリを共有していません。代わりに、コピーを作成しています。