Prev Next

PostMessage info  Overview  Group

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 or PeekMessage function.

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 with the dwThreadId parameter set to the identifier of the current thread.

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

GetMessage, PeekMessage, SendMessageCallback, SendNotifyMessage

Questions:

See also:

Code: