SendMessageCallback

The SendMessageCallback function sends the specified message to a window or windows. The function calls the window procedure for the specified window and returns immediately. After the window procedure processes the message, the system calls the specified callback function, passing the result of the message processing and an application-defined value to the callback function.

BOOL SendMessageCallback(
  HWND hWnd,     // handle of destination window
  UINT Msg,      // message to send
  WPARAM wParam, // first message parameter
  LPARAM lParam, // second message parameter
  SENDASYNCPROC lpResultCallBack,
                 // function to receive message value
  DWORD dwData   // value to pass to callback function
);
 

Parameters

hWnd
Handle to the window whose window procedure will receive the message. If this parameter is HWND_BROADCAST, the message is sent to all top-level windows in the system, including disabled or invisible unowned windows, overlapped windows, and pop-up windows; but the message is not sent to child windows.
Msg
Specifies the message to be sent.
wParam
Specifies additional message-specific information.
lParam
Specifies additional message-specific information.
lpResultCallBack
Pointer to a callback function that the system calls after the window procedure processes the message. See SendAsyncProc for information on suitable callback functions.

If hWnd is HWND_BROADCAST, the system calls the SendAsyncProc callback function once for each top-level window.

dwData
Specifies an application-defined value to be sent to the callback function pointed to by the lpfnResultCallBack parameter.

Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

If you send a message in the range below WM_USER to the asynchronous message functions (PostMessage, SendNotifyMessage, and SendMessageCallback), its message parameters can not include pointers. Otherwise, the operation will fail. The functions will return before the receiving thread has had a chance to process the message and the sender will free the memory before it is used.

Applications that need to communicate using HWND_BROADCAST should use the RegisterWindowMessage function to obtain a unique message for inter-application communication.

The callback function is called only when the thread that called SendMessageCallback also calls GetMessage, PeekMessage, or WaitMessage.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in winuser.h.
  Import Library: Use user32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also

Messages and Message Queues Overview, Message and Message Queue Functions, PostMessage, RegisterWindowMessage, SendAsyncProc, SendMessageCallback, SendNotifyMessage