SendMessage函数 将指定的消息发到窗口。它调用特定窗口的窗口处理函数,而且不会当即返回,直到窗口处理函数处理了这个消息。函数
PostMessage函数 将一个消息放入与建立这个窗口的消息队列相关的线程中,并马上返回不等待线程处理消息。spa
SendMessage是发送消息,而后等待处理完成返回,但发送消息的方法为直接调用消息处理函数(即WndProc函数),按照函数调用规则,确定会等消息处理函数返回以后,SendMessage才返回。而PostMessage却没有发送消息,PostMessage是将消息放入消息队列中,而后马上返回,至于消息什么时候被处理,PostMessage彻底不知道,此时只有消息循环知道被PostMessage的消息什么时候被处理了。线程
例句:队列
向按钮(Button)发送单击:消息队列
SendMessage:循环
SendMessage(Button1.Handle, WM_LBUTTONDOWN, 0, 0);方法
SendMessage(Button1.Handle, WM_LBUTTONUP, 0, 0);消息
PostMessage:
PostMessage(Button1.Handle, WM_LBUTTONDOWN, 0, 0);
PostMessage(Button1.Handle, WM_LBUTTONUP, 0, 0);