【初心者歓迎】C/C++室 Ver.53【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0386デフォルトの名無しさん
2008/05/01(木) 15:22:59> If the target window is owned by the current process,
> SetWindowText causes a WM_SETTEXT message to be sent to the specified window or control.
SetWindowTextはWM_SETTEXTをsendしようとするが
ダイアログを所有するメインスレッドがメッセージを受け取れる状態ではないので
SetWindowTextから返って来なくなる。
メインスレッド→WaitForSingleObjectで待つ(メッセージを受け取れる状態ではない)
別スレッド→メインスレッドがメッセージを処理するのを待つ
となり、デッドロックに陥る。
Sleepを抜くと通るのは、スレッドがwhileループに入る前にisContLoop = 0;が実行され
SetWindowTextが呼ばれないため。
ttp://msdn.microsoft.com/en-us/library/ms644927.aspx
この辺読むといいよ。
■ このスレッドは過去ログ倉庫に格納されています