|
BEGIN_MESSAGE_MAP // <-
MESSAGE_HANDLER(WM_USER+1818, TMessage, OnWMUser1818);
MESSAGE_HANDLER(WM_MOUSEACTIVATE, TWMMouseActivate, OnWMMouseActivate);
MESSAGE_HANDLER(WM_NCACTIVATE, TWMMouseActivate, OnWMNCActivate); // <-
END_MESSAGE_MAP(TForm)
이렇게 썼구요... 제가 후킹쪽을 건드리려고 하다보니까 이렇게 쓰게되었는데, 디버그해보니까 폼까지 다 띄우고 나서 위의 소스에서 주석으로 달아놓은 화살표에만 계속 돌더군요-_-;; 그래서 오버플로우가 생기는듯한데요...
저 OnWMNCActivate에는 아래와같이 적어주었습니다.
void __fastcall TForm1::OnWMNCActivate(TWMMouseActivate &Message)
{
Dispatch(&Message);
}
이렇게 하면서... 솔직히 BEGIN_MESSAGE_MAP ~ END_MESSAGE_MAP(TForm) 에 대해서 잘 모르겠구요...[지속적으로 이 범위 안에 있는 MESSAGE_HANDLER를 호출하는거 같은데...]
그리고 Dispatch라는것도 델파이로 된 소스 번역하다가 inherited인가 그거를 C에서는 Dispatch라고 한다고 해서 바꿔본거구요... 정확히는 무슨일을하는지 모릅니다;ㅅ ;
제가 질문한 정보가 부족하다고 생각하시면 댓글 달아주세요...
여러분... 제 인생의 카운트 다운이 다가오고있습니다 ㅠㅠ 꼭 좀 도와주세요...
[혹시 C로 만들어진 화상(또는 화면)키보드 예제 좋은거 있으신 분 onsemy@gmail.com 으로 보내주시면 감사하겠습니다.]
|