SendMessageCallback函数将指定的消息发送到窗口或窗口。该函数调用指定窗口的窗口过程并立即返回。窗口过程处理消息后,系统调用指定的回调函数,将消息处理的结果和应用程序定义的值传递给回调函数。
BOOL SendMessageCallback(
HWND 【的hWnd】, | //目标窗口的句柄 |
UINT 【消息】, | //要发送的消息 |
WPARAM 【wParam中】, | //第一个消息参数 |
LPARAM 【lParam的】, | //第二个消息参数 |
SENDASYNCPROC 【lpResultCallBack】, | //函数接收消息值 |
DWORD 【dwDatacy】 | //传递给回调函数的值 |
); |
参数
【的hWnd】
标识窗口程序将接收消息的窗口。如果此参数为HWND_BROADCAST,则会将消息发送到系统中的所有顶级窗口,包括禁用或不可见的未知窗口,重叠窗口和弹出窗口;但消息不会发送到子窗口。
【消息】
指定要发送的消息。
【wParam中】
指定附加的消息特定信息。
【lParam的】
指定附加的消息特定信息。
【lpResultCallBack】
指向窗口过程处理消息后系统调用的回调函数。有关合适的回调函数的信息,请参阅SendAsyncProc.
如果【的hWnd】是HWND_BROADCAST,操作系统会为每个顶级窗口调用一次SendAsyncProc回调函数。
【dwDatacy】
指定要发送给【lpfnResultCallBack】参数指向的回调函数的应用程序定义值。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
如果您在WM_USER下面的消息发送到异步消息功能(PostMessage,SendNotifyMessage和SendMessageCallback),请确保消息参数不包含指针。否则,在接收线程有机会处理消息之前,函数将返回,并且发送者将在使用之前释放内存。
需要使用HWND_BROADCAST进行通信的应用程序应使用RegisterWindowMessage函数来获取应用程序间通信的唯一消息。
仅当调用SendMessageCallback的线程也调用GetMessage PeekMessage或WaitMessage时才调用回调函数。
也可以看看
PostMessage, RegisterWindowMessage, SendAsyncProc, SendMessageCallback, SendNotifyMessage