- - PR -
C#からC++へのプロセス間通信
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-06-09 15:02
渋木宏明さん、とっちゃんさん、ありがとうございます。
ご指摘のとおり、メッセージ送信先を明確にして、 lpDataをIntPtrに変更させて以下のとおりにしたところ受信することができました。 ---------------サンプルの抜粋---------------------------------- [C#]送信側 //処理を行って送りたい情報をポストする COPYDATASTRUCT cs = new COPYDATASTRUCT(); string strTest = "testTESTabcde!#$%&'あいうえお"; cs.dwData = new IntPtr(0); cs.cbData = (uint)(strTest.Length * 2) + 1; cs.lpData = Marshal.StringToHGlobalUni(strTest); SendMessage(m.WParam, WM_COPYDATA, new IntPtr(0), ref cs); //WndProc内での処理 [C++]受信側 //変更なし ---------------ここまで---------------------------------- cbDataにサイズを入れる部分の見栄えが良くないですけど、 なんとか送りたい情報をC++で受信することができました。 皆様、ありがとうざいます。 |