I can't give any examples, but one way I've seen is a separate thread responsible for handling events, with the event handlers spawning threads with callbacks, and immediately returning. I think MSDN has some articles on doing this sort of thing. ---------- Keith J. Farmer kfarmer at thuban.org http://www.thuban.org