본문 바로가기
Programming/Tips(C++,C#)

걍 메시지 후킹하기..

by 곰네Zip 2010. 2. 25.

이것도 까먹지 않기 위해서 적어둔다..

NDPROC pOldProc = NULL;

//CALLBACK함수 만들자.. -_-
LRESULT CALLBACK WindowProcFunc(HWND hWnd,UINT uMsg, WPARAM wParam, LPARAM lParam){
 if( uMsg == Message){
      //todo
 }
 return CallWindowProc(pOldProc,hWnd,uMsg,wParam,lParam);
}

를 작성한 후에..

OnCreate시에.. 다음과 같이 작성한다.

if( pCombo != NULL){
  pOldProc = (WNDPROC)::SetWindowLong(pCombo->GetSafeHwnd(),GWL_WNDPROC,(LONG)WindowProcFunc);
 }

여기서 WindowProcFunc는 내가 작성하는 쟤 이름인 것으로 보인다.
pOldProc을 가져다 놓는 것은... 내가 메시지 후킹하는건 하더라도,.. 다른애가 받을 메시지까지 내가 후킹할 수 없는 일이니까... 내가 필요한것만 낚아가고... 나머진 돌려주자.

반응형

댓글