mywan - my point, exactly :t
qword - what blocking function ?
optimizing loops with blocking functions is like makeup for dogs
some dogs are just plain ugly - lol
you and Hutch can both write bloatware for MS
my approach has always been:
1) if speed matters, make it fast
2) if speed doesn't matter, make it small
in general, i try to develop habits that are aligned with that approach
so - even if it isn't critical, i am developing the habits that i aim for
Ryan -
I wish they would elaborate on what exactly would cause it to fail.
a sentiment that has been expressed by more than one other member

as for the errors that MSDN says may be encountered
1) if it has an incorrect hWnd, it should never get into the queue - DOH !
2) invalid message pointer

again - if there is an invalid pointer in a message parm, the message should return an error
at any rate, i have never seen this error occur
and - if it did, there may be better ways to handle it than exiting the program
for example - you could just pull the offending message out of the queue and move on
but - i haven't seen anyone's code do ths :P
i figure exiting the program is safer than dispatching an erroneous message