プロが教えるわが家の防犯対策術!

C言語の_beginthreadとPostThreadMessageについて質問いたします。
main関数内で_beginthread関数でスレッドを二つ生成し、
PostThreadMessageでメッセージを送信してみるとなぜか1番目のスレッドは失敗し、2番目のスレッドは成功します。
1番目のスレッドにPostThreadMessageした場合のGetLaseErrorで取得しらエラーは1159(メッセージは同期した操作とのみ使用できます。)になっています。
理由がまったくわからないです。orz。。。
何か情報があれば教えていただけますでしょうか?

A 回答 (1件)

連続して送って二番目ということでしょうか。


或いは常に thread A は失敗、 thrad B は成功でしょうか。
thread C を生成し送ったらどうなりましたか。

ほんとうに片方では成功してますか。
メッセージは WM_USER より大きくしてますか。

>同期した操作とのみ使用
落ち着いてください。
と書こうと思ったらなんと大元の誤植ですね。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>メッセージは WM_USER より大きくしてますか。
→この内容を適用させたらうまくいきました。

本当にありがとうございます。

お礼日時:2008/11/19 13:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!