アプリ版:「スタンプのみでお礼する」機能のリリースについて

スレッドの中でタイマー処理を行いたいのですが、WM_TIMERが受け取れません。
というか、メッセージマップ内でON_WM_TIMER()と記述すると、型が違うとエラーが出てしまいます。

どなたか、スレッド内でタイマー処理を行うすべを教えて下さい。よろしくお願いします。

CWinThreadを派生したクラス内での処理です。

A 回答 (2件)

CreateEventでイベントオブジェクトを作って,スレッドはWaitForSingleObjectでイベント待ちににしておく。


SetTimerのコールバックでSetEventを呼ぶ。

で、できるかな?
    • good
    • 0

>スレッドの中でタイマー処理を行いたいのですが、WM_TIMERが受け取れません。



というか、WM_ってウィンドウメッセージという意味なんですが。ウィンドウがなければWM_TIMERは受け取れません。

そもそも、どういう風にSetTimerを呼んだんですか?

解決方法は、
1.スレッドに新たなCWndオブジェクトを作成し、CWnd::SetTimer()をコールする。

2.::SetTimer()でコールバック関数を使う

だと思うんですが。
    • good
    • 0

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