On Thu, 2005-04-14 at 19:49 +0200, Alexandre Julliard wrote:
WM_TIMER messages are not posted, so the message can't possibly be removed by get_posted_message. It will be handled in find_expired_timer, which will return a new message and restart the timer.
Yes, the first time that PeekMessage (1) is called, the timer message is handled by find_expired_timer, but the timer is not restarted because the parameter PM_NOREMOVE is set. The WM_TIMER message remains in the queue, and next time the PeekMessage (3) is called with PM_REMOVE the get_post_message is called. I confirmed this by putting some "printf" in queue.c
alonso