While using spy++ to watch all the messages of my JUCE program, I find there isnt any WM_TIMER sending, although My program have its timer started all the time. why ?
Well, juce uses its own timer system. I think the original reason I did that was because wm_timer had some stupid limitations and performance problems, but it also avoids having different timer implementations on different platforms.
WM_TIMER is a low priority message, if there are other messages they will take priority. So for example you are receiving a lot of WM_PAINT sometimes you wont see WM_TIMER for a long time.