SendMessage与PostMessage函数功能:
(1).能够向指定的窗口发送窗口消息,既可以是本进程内窗口也可以是其他进程的;
(2).既可以发送系统内部消息,消息编号范围是:1 - WM_USER-1;例如:WM_LBUTTONDOWN,WM_MOUSEMOVE;
(3).也可以发送非系统消息(开发者自定义的消息),范围是:WM_USER - 0x7FFF.
SendMessage与PostMessage两者之间的区别:
(1).SendMessage时阻塞型函数,PostMessage是非阻塞型函数;
SendMessage用于调用指定窗口的内部程序,直到窗口程序处理完成以后再返回;
PostMessage是将一个消息寄送到一个窗口内的消息队列后就立即返回。
(2).两个函数的返回值不同:
LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
BOOL PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
SendMessage的返回值依赖于消息处理函数
(3)跨线程或跨进程发送消息,推荐使用PostMessage函数。