PostMessage (in “pure windows programming”, aka win32 API) is asynchronous, i.e., to quote the docs:
Places (posts) a message in the
message queue associated with the
thread that created the specified
window and returns without waiting for
the thread to process the message.To post a message in the message queue
associated with a thread, use the
PostThreadMessage function.
SendMessage is synchronous, that is, again quoting:
Sends the specified message to a
window or windows. The SendMessage
function calls the window procedure
for the specified window and does not
return until the window procedure has
processed the message.To send a message and return
immediately, use the
SendMessageCallback or
SendNotifyMessage function. To post a
message to a thread’s message queue
and return immediately, use the
PostMessage or PostThreadMessage
function.
A good tutorial on these two functions and their use is here.
The connection to WPF is discussed in this SO question.