C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[23194] Re:질문에 대한 부연설명입니다.(SendMessage)
새더군 [mmouse] 1513 읽음    2002-12-13 10:33
에구 뭔가 복잡해 보이네요 --;;

일단 SendMessage 는 메세지 큐에 쌓아 넣는게 아니라..
그 해당 윈도우의 프로시져를 직접 콜하는 구조 입니다.

그리고 마우스 후커는 GetMessage 나 PeeekMessage 를 해당 윈도우가 호출 했을때..
마우스 메세지라면 후커를 호출해주는 구조입니다.

감이 잡히시죠? ^^

즉 메세지큐 기반이 아니기 때문에 마우스 후커는 피해갈수 밖에 없다는 거죠..

PostMessage 로 한번 바꿔보세요.

안된다면 답글 달아주세요 ㅠ.ㅜ....


김재승 님이 쓰신 글 :
: 윗글에서 새더군님이 질문이 모호하다고 하셔서 제딴에 부연설명을 드립니다.
:
: (가)
: 1. 훅킹을 건다.
: 2. 훅킹이 걸린 상태에서, 특정 윈도우에서 마우스 좌측버튼을 누른다(WM_LBUTTONDOWN)
: 3. 훅킹 DLL의 MouseProc 함수(콜백함수)가 호출된다.
: 4. 해당 윈도우에 WM_LBUTTONDOWN 메세지가 전달된다.
:
: 위의 경우가 일반적인 전역 시스템 훅킹의 루틴이라고 봅니다.
:
: * SendMessage를 썼을때의 제 생각은 아래와 같습니다.
:
: (나)
: a. 훅킹을 건다.
: b. 훅킹이 걸린 상태에서, SendMessage(윈도우핸들, WM_LBUTTONDOWN, MK_LBUTTON, 마우스위치값)를 날린다. (마우스 안건드리구 키보드 조작등을 사용해서 메세지 전송으로 가정.)
: c. (가)의 3번항과 4번항이 진행이 된다.
:
: * 제 소견으로는, a, b, 3, 4 <- 이런 순이 될줄 알았는데 해보니깐 a, b, 4 <- 즉, (가)의 3번항이 빠지면서 바로 4번항으로 건너뛰드라구요...쩝...
:
: * 제가 의도하는 것은 (나)의 작업을 했을때 a, b, 3, 4 <- 이 루틴을 구현하고 싶은데 안되네요. ㅠㅠ
:
: * 부연설명이 잘 되었는지는 모르겠습니다만 문제를 이해하시는데 도움이 되셨길 바랍니다. ㅠㅠ
:
: 김재승 님이 쓰신 글 :
: : 안녕하세요. 김재승이라고 합니다.
: :
: : SendMessage에 대한 질문을 하나 드릴께요.
: :
: : 보통 전역으로 시스템 훅킹을 걸었을 경우(마우스), 훅킹 DLL의 콜백함수를 통해
: :
: : 마우스 동작여부를 알수 있는데, 인위적으로 SendMessage를 사용해서 특정 윈도우에
: :
: : 마우스 다운 명령을 날렸을 경우 이것도 당연히 훅킹 DLL의 콜백함수가 호출된 후
: :
: : 해당 윈도우에 마우스 다운이 먹힐줄 알았는데 그렇지가 않고 (콜백함수를 거치지 않고)
: :
: : 바로 해당 윈도우에 마우스 다운이 먹힙니다. SendMessage를 사용하면 큐에 메세지가
: :
: : 쌓이는 것으로 알고 있는데 제가 잘못알고 있는지...ㅠㅠ
: :
: : 아시는 분들께 답변을 부탁드립니다.
: :
: : 좋은 하루 되세요. ^^

+ -

관련 글 리스트
23184 SendMessage에 대한 질문을 드립니다. 김재승 894 2002/12/12
31360     Re:SendMessage에 대한 질문을 드립니다. 서정국.새더 962 2002/12/13
23192     질문에 대한 부연설명입니다.(SendMessage) 김재승 1213 2002/12/13
23194         Re:질문에 대한 부연설명입니다.(SendMessage) 새더군 1513 2002/12/13
23195             새더군님 답변 감사드립니다. ^^ (냉무) 김재승 730 2002/12/13
23188     Re:SendMessage에 대한 질문을 드립니다. 아더 1240 2002/12/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.