通知
すべてクリア
Topic starter
2009年6月12日 2:09 PM
VC2005 MFC です。
AfxBeginThread()で別途CWinThread派生のUIスレッドを作成し、
UIスレッドのInitInstance()で新たなウィンドウを出しています。
UIスレッドを作成した側が
このタイミング(InitInstance()を抜けるところ)まで待つためには、
どのような方法があるのでしょうか。
UIスレッドのウィンドウが画面に出現するまでは作成側も起動関数内で待たせ、
出現してからそれぞれ別スレッドで動くようにしたいのです。
待っている間は砂時計のまま固まってるように見えても構いません。
よろしくお願いいたします。
2009年6月12日 2:30 PM
プロセスならWaitForInputIdleが使えるかもしれません。
ただ、自分で作るスレッドならスレッド側で準備ができたら通知
すればいいだけでは。
通知方法は、イベントなりメッセージなりご随意に。
Topic starter
2009年6月15日 9:22 AM
MFCにCEventというクラスがあったので、それのインスタンスを用意し、
スレッドを起動した側は直後にLock(INFINITE)で待たせておき、
スレッドのInitInstance()の最後でSetEvent()をコールすることで、
起動完了まで関数内で待たせておくことができました。
手がかりを教えていただき、ありがとうございます。