01.About Programming /9..VC++
PostMessage, SendMessage 의 차이
JamesK78
2008. 10. 21. 00:18
이 두 메세지의 차이에 대해서 알아 보겠습니다.
우선 함수의 원형은 다음과 같습니다. 두 함수의 파라미터는 똑같습니다. 단 , 리턴값이 다르네요.
LRESULT SendMessage(
HWND hWnd,
UINT Msg,
WPARAM WParam,
LPARAM LParam
)
SendMessage() 함수는 해당 윈도의 메세지큐가 아닌 윈도 프로시져를 직접 호출 합니다.
따라서 해당 윈도 프로시져가 그 메세지를 처리 할때 까지 기다렸다가 결과 값과 함께 리턴되기에, 이 메시지가 처리 된다는 보장이 있는 것 입니다.
하지만 , PostMessage() 함수는 해당 윈도의 메세지 큐에 메세지를 추가 하고 바로 리턴 합니다.
따라서 이 메세지가 처리 될지 않될지는 보장을 못합니다.
BOOL PostMessage(
HWND hWnd,
UINT Msg,
WPARAM WParam,
LPARAM LParam
)