SendMessage函数将指定的消息发送到窗口或窗口。该函数调用指定窗口的窗口过程,并且在窗口过程处理该消息之前不返回。相反,PostMessage功能将消息发布到线程的消息队列,并立即返回。
LRESULT SendMessage(
HWND 【的hWnd】, | //目标窗口的句柄 |
UINT 【消息】, | //要发送的消息 |
WPARAM 【wParam中】, | //第一个消息参数 |
LPARAM 【lParam的】 | //第二个消息参数 |
); |
参数
【的hWnd】
标识窗口程序将接收消息的窗口。如果此参数为HWND_BROADCAST,则会将消息发送到系统中的所有顶级窗口,包括禁用或不可见的未知窗口,重叠窗口和弹出窗口;但消息不会发送到子窗口。
【消息】
指定要发送的消息。
【wParam中】
指定附加的消息特定信息。
【lParam的】
指定附加的消息特定信息。
返回值
返回值指定消息处理的结果,并取决于发送的消息。
备注
需要使用HWND_BROADCAST进行通信的应用程序应使用RegisterWindowMessage功能获取应用间通信的唯一消息。
如果指定的窗口由调用线程创建,则窗口过程将立即作为子例程调用。如果指定的窗口是由不同的线程创建的,Windows将切换到该线程并调用相应的窗口过程。线程之间发送的消息只有在接收线程执行消息检索代码时被处理。发送线程被阻塞,直到接收线程处理消息。
也可以看看
InSendMessage, PostMessage, RegisterWindowMessage, SendDlgItemMessage