windows消息机制

线程的消息来源有3个:

外设    系统    其他线程

现在我了解的机制大体是,所有消息都先放到系统消息队列,然后系统每次取一条消息放到窗口所在线程的消息队列,然后线程再把消息交给系统,系统再调用wndproc。我实验了一个无窗口线程,保留消息循环,系统并不向这个线程发消息,所以也就不存在消息分发的问题。后台服务中的CServiceModule消息环,应该是thread消息环,肯定收不到hwnd相关的消息,应该是postthreadmessage发送的线程消息。还有个疑问就是dispatchmessage干嘛又把消息交给系统,而不是自己调用wndproc?

references:

http://blog.163.com/chen_xinghuan/blog/static/1722015822010102114156657/

http://bbs.csdn.net/topics/340203463

你可能感兴趣的:(windows)