These all functions are related to messages and application message queue.
Message - Windows programming is a event based programming. On occurring any event operating system notifies it to that specific application by placing event type message in that application's message queue. Further this message (event) is processed / handled by respective application.
Message Queue - This is queue associated with each windows application where messages
are posted for processing.
GetMessage() function waits for a message to be placed in the queue before returning.
This function continously seeks for message in a message queue.
PeekMessage() function does not wait for a message to be placed in the queue before returning. This is used to seek a specific message.
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.
SendMessage() function sends the specified message to a window or windows. The function calls the window procedure for the specified window and does not return until the window procedure has processed the message.