본문 바로가기

C#

메시지 처리 방법 3가지

728x90
  • 훅(Hook) : 원하는 정보를 엿보거나 가로채는 도구
  • 후킹(Hooking) : 실제로 정보를 엿보고 조작하는 행위

1. IMessageFilter 상속
- 대부분의 이벤트에 적용 가능(마우스, 키 이벤트 등)
- m.Msg를 통해 이벤트의 종류를 알아보고 하단에서 그것에 대한 상세처리를 하는 구조이다.
- return 값은 true와 false가 있다.
   - true의 경우, 메시지 후킹 후 현재 포커스된 컨트롤에게 해당 메시지를 보내줍니다.
   - false의 경우, 메시지 후킹 후 현재 포커스된 컨트롤에게 해당 메시지를 보내지 않습니다.

2. ProcessCmdKey 오버라이드
- 주로 키 입력 가로챌 때 사용하는 듯

3. WndProc 오버라이드
- 다른 프로그램으로부터 메시지 받거나 다른 프로그램에게 메시지 전달할 때 사용하는 듯
- 속한 Control에 대한 변화 감지

728x90