Partager via


PostMessage

This function places 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, 
  UINT Msg, 
  WPARAM wParam, 
  LPARAM lParam 
); 

Parameters

  • hWnd
    [in] Handle to the window whose window procedure is to receive the message. Two values have special meanings.
    Value Description
    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
    [in] Specifies the message to be posted.
  • wParam
    [in] Specifies additional message-specific information.
  • lParam
    [in] Specifies additional message-specific information.

Return Values

Nonzero indicates success. Zero indicates failure. 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 and SendNotifyMessage), its message parameters cannot 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.

Requirements

OS Versions: Windows CE 1.0 and later.
Header: Winuser.h.
Link Library: Coredll.lib.

See Also

Message Queue Functions | GetMessage | PeekMessage | PostThreadMessage | RegisterWindowMessage | SendDlgItemMessage | SendMessage

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.