- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[API/MFC] sendmessage 와 postmessage 의 차이점 본문
먼저 원형을 봅시다.
postmessage의 원형
LRESULT PostMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
sendmessage 의 원형
LRESULT SendMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
보시다시피 인자값(파라미터)은 같습니다.
차이점은 뭘까요.
PostMessage() 함수는 hWnd 윈도우의 메세지 큐에 바로리턴하므로 메시지를 붙인 후 즉시 다른작업을 할 수 있지만
큐에 대기하고 있는 다른 메세지가 있으면 뒤에 붙인 메세지는 곧바로 처리되지않습니다.
그래서,지금당장처리해야할 필요가 없을때는 PostMessage() 를 씁니다.
왜냐하면 언제 처리될지 정확하게 예측하기 힘들기 때문입니다.
SendMessage()함수는 메시지 큐에 메세지를 추가하지않고 관련된 메시지 핸들러 함수를 직접호출하고
결과를 반환하는 함수입니다.
대부분은 SendMessage()를 이용합니다.효율적이기 때문입니다.
그러나 SendMessage()는 종료시점에서 잘못사용하게되면 에러메시지를 뿜고 끝날수있기때문에 조심해야합니다.
결론은.
PostMessage() 함수는 메시지 큐에 메세지를 추가하는 함수이며 급하지 않은 일을 처리할 떄 사용하는 함수이고.
SendMessage()함수는 메시지 큐를 거치지 않고,메시지 핸들러 함수를 호출하여 곧바로 처리해야 할 일이 있을 때 사용하는함수입니다.
[출처] sendmessage 와 postmessage 의 차이점|작성자 징징이
'★─Programing > ☆─API | MFC' 카테고리의 다른 글
[API/MFC] DestroyWindow와 PostQuitMessage (0) | 2011.11.01 |
---|---|
[API/MFC] DestroyWindow (0) | 2011.11.01 |
[API/MFC] SendMessage() (0) | 2011.11.01 |
[API/MFC] 윈도우 스타일 - WS_ , 윈도우 확장 스타일, CreateWindowEx, WS_EX_TOPMOST (0) | 2011.11.01 |
[API/MFC] AfxMessageBox 타이틀 변경하기~ (0) | 2011.11.01 |