PostMessage
The PostMessage
function places (posts) a message in the message queue associated with the
thread that created the specified window and then returns without waiting for
the thread to process the message. Messages in a message queue are retrieved by
calls to the GetMessage
BOOL PostMessage(
HWND hWnd, |
// handle of
destination window |
UINT Msg, |
// message to post |
WPARAM wParam, |
// first message
parameter |
LPARAM lParam |
// second message
parameter |
); |
|
Parameters
hWnd
Identifies
the window whose window procedure is to receive the message. Two values have
special meanings:
Value |
Meaning |
HWND_BROADCAST |
The message
is posted to all top-level windows in the system, including disabled or
invisible unowned windows, overlapped windows, and pop-up windows. The
message is not posted to child windows. |
NULL |
The
function behaves like a call to PostThreadMessage |
Msg
Specifies the
message to be posted.
wParam
Specifies
additional message-specific information.
lParam
Specifies
additional message-specific information.
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
Applications
that need to communicate using HWND_BROADCAST should use the RegisterWindowMessage
function to obtain a unique message for inter-application communication.
If you send a
message in the range below WM_USER to the asynchronous message functions (PostMessage,
SendNotifyMessage, and SendMessageCallback), make sure that the
message parameters do not include pointers. Otherwise, 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.
See Also