|
소스자료실 - 창조 소스를 공유하는 곳입니다. 첨부가능 확장자는 *.zip,*.rar,*.arj,*.exe,*.jpg,*.png,*.gif,*.cuf,*.nhp,*.nhw 입니다. |
| Posted by 지상현 | 2006-06-06 01:48:03, Hit : 6730 | |
|
|
|
창조로도 만들게 되는군요... 헤헤헤
창조 내부 함수를 보면 SendMessage와 PostMessage란 게 있습니다. 그런데 그 둘을 보면 딱히 차이점을 느낄 수가 없을 겁니다.
둘 다 메시지를 보내는 함수란건 마찬가지인데, 조금 동작이 다릅니다. 그래서 어떻게 다른지 예제를 만들어 봤습니다.
소스는 그다지 어려운 내용은 없습니다.
개념적으로 잠깐 설명을 하자면 SendMessage...는 말 그대로 메시지를 보내는 함수입니다. 잘 갔는지 책임지고 확인하고, 창이 그 메시지를 처리하는데 기다렸다가 다 되면 결과를 가지고 돌아옵니다. PostMessage...는 메시지를 부치는 함수입니다. 메시지를 창에게 잘 가라고 우체통에 넣고 손을 탁탁 털고 바로 돌아옵니다. 그래서, 메시지가 처리 되든 말든 관심 없고 그냥 메시지를 보내기만 하는 놈입니다.
상황에 따라 둘을 구별해서 써야 하는데, 예를 들어 최소화 된 창에는 메시지가 창이 활성화되기 전 까지 처리되지 않는 경우가 있습니다. 이 경우 SendMessage를 사용하면 창이 활성화 될 때까지 프로그램이 먹통이 됩니다. 이런 경우에는 PostMessage를 사용하면 해결할 수 있습니다. 대신 PostMessage로는 메시지가 잘 처리되었는지 알 수가 없겠죠.
어쨌든, 이 둘을 잘 구별해서 써보자~ 하는 취지에서 만들어 봤습니다. |
|
|
박종훈 2006-06-06 AM 7:13:41 |
|
|
|
음.. 하우투벵크에서 본것 같은 ㅋ
시계를 없애고, 숨김에디트의 클릭했을때의 명령어에,
문자창보여("ㅗㅗ");
를 추가하고.. 해보니.. Send의 경우에는, "ㅗㅗ"가 먼저뜨고,
"메시지를 보냈습니다."라는 것이 뜨는 반면,
Post의 경우에는 "ㅗㅗ"와 "메시지를 부쳤습니다." 모두 뜨는 ^^.. |
|
|
손상진 2006-06-06 AM 11:35:49 |
|
|
|
좋은 예제네요..
이해가 한번에 된다는... |
|
|
이희창[빙고] 2006-06-06 AM 11:56:50 |
|
|
|
오옷.. 그때 저가 차이점이 무엇인지 질문게시판에 올린적이있었던... |
|
|
우유중독 2006-06-17 PM 5:11:40 |
|
|
|
좋은 프로그램이네요^^ |
|
|
지상현 2010-06-21 PM 3:06:24 |
|
|
|
특정 메시지에서는 좀 더 다른 미묘한 차이가 있습니다.
특히 SendMessage는 작업 끝나길 기다리는 점 때문에 다른 스레드의 창(다른 프로세스 등)으로 메시지 보낼 때 프로그램 멎을 수도 있습니다. |
|
|
지우개 Expert 3.0 제작자 : 천호성 님 [LINK] |
|
|
|
대박로또2005 제작자 : 최재일 님 [LINK] |
|
|
1 | 박종훈 님 | 15292 점 | |
2 | 지상현 님 | 8809 점 | |
3 | 손상진 님 | 7388 점 | |
4 | 권선중 님 | 6060 점 | |
5 | 이진백 님 | 5174 점 | |
|
|
|
가입일 | 닉네임 |
05/31 | 김동률 |
03/31 | 홍형기 |
09/01 | o00pp99oo |
12/27 | 이재민 |
11/20 | 이희철 |
|
|
|
|
. |
. |
. |
|