消息队列是属于线程的,Post消息就是把消息放到目标线程的消息队列中。
这两者的差别在于:
PostMessage 通过指定目标窗体句柄来确定目标线程,通常情况下由窗体过程来处理消息;
PostThreadMessage 直接指定目标线程ID来确定目标线程,没有目标窗体。仅仅能在消息循环中直接依据消息类型做对应的处理。
在程序设计的选择方面,假设是UI线程。则应使用PostMessage。假设是工作线程,则应使用PostThreadMessage。不要为了接收消息而创建窗体。