環境:VS.NET 2003
OS:WinXP
PostMessageにて、構造体データを送信する方法を教えてください。
PostMessageはWPARAM、LPARAMの2つのデータを送信可能ですが、3つ以上のデータを送信
したい場合、構造体にしないといけないと思っています。そこで、構造体データのアド
レス(ローカル変数)を渡したところ、うまくデータが送信できていないようです。具
体的には、
「TCHARの配列データ、SYSTEMTIMEデータ、enumデータ」の構造体を渡しているのです
が、メッセージ受信部をデバッグして見ると「TCHARの配列データ」のみ正常に受け取れ
ますが、残りのデータはうまく受け取れません。
何か考えられる原因はありますでしょうか。
PostMessageした相手が受け取る前に書き換えてないかしら。
(できるなら)SendMessageに取り換えたらどうなります?
SendMessageを使用したら問題ありませんでした。ありがとうございました。
ちなみに、
PostMessageでは一部のデータがNGでSendMessageではうまくいく原因は何か考えられま
すか?
PostMessageとSendMessageの違いは理解されていますか?
原因はそれに尽きるのですが。
だからー
PostMessageした相手が受け取る前に書き換えてないかしら。
ってゆってんじゃん。
フレームワークのどこかで書き換えられてるのかしら。
PostMessageは一旦ウインドウプロシージャーを抜けるので、メッセージを受け取ったと
きには既にローカル変数へのポインタは無効な領域を指しています。