SendMessageCallback是一个
计算机函数,能将指定的消息发送到一个或多个窗口,此函数为指定的窗口调用窗口程序,并立即返回;当窗口程序处理完消息后,
系统调用指定的
回调函数,将消息处理的结果和一个应用程序定义的值传给回调函数。
BOOL SendMessageCallback(HWND hwnd,UINT Msg,WPARAM wParam,LPARAM IParam,SEhDASYNCPROC IpResultCallBack,DWORD dwData);
hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发送到子窗口。
IpResultCallBack:指向回收函数的
指针,窗口程序处理完消息后调用该
回调函数。参见
SendAsyncProc可得到合适的
回调函数的信息。如果hwnd为HWND_BROADCAST,系统为每个顶层窗口调用一次SendASyncProc
回调函数。
dwData:一个应用程序定义的值,被传给由参数IPResultCallBack指向的
回调函数。
如果发送一个低于WM_USER范围的消息给异步消息函数(PostMessage,SendNotifyMesssge;SendMessageCallback),消息参数不能包含
指针。否则,操作将会失败。函数将在接收线程处理消息之前返回,发送者将在内存被使用之前释放。
此
回调函数仅当调用SendMessagecallback的线程调用GetMessage,PeekMessage或
WaitMessage时调用。
Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;输入库:user32.lib;Unicode:在Windows NT环境下以Unicode和ANSI方式实现。