<div style="text-align:center;"><img width="800" height="433" class="chimg_photo" style="border:;" alt="http://i.imgur.com/ZIdvndC.png" src="http://i.imgur.com/ZIdvndC.png"></div> <div> </div> <div>윈도우 탐색기 안에 파일목록 보여주는 곳에서 엔터키를 눌렀을 때 발생하는 이벤트를 후킹하고싶습니다.</div> <div>그 파일들 보여주는 뷰에선 엔터키가 눌리면 사진에 보이는 대로 WM_USER + 202 메시지가 포스트 됩니다.</div> <div>요 메세지를 후킹해서 파일리스트 뷰에 돌려주지 않으려고 하는데 후킹보터 제대로 안되네요. ㅠ</div> <div> </div> <div>WH_CALLWNDPROC을 후킹하는 후킹 dll 코드는 다음과 같습니다.</div> <div> </div> <div>LRESULT CALLBACK MsgProcedure(int nCode, WPARAM wParam, LPARAM lParam)<br>{<br> if( lParam )<br> {<br> CWPSTRUCT *cwp = (CWPSTRUCT *)lParam;<br> if( cwp->message == WM_USER + 202 )<br> {<br> cwp->message = WM_USER + 4444;<br> }<br> else<br> {<br> }<br> }<br> return ::CallNextHookEx( g_hHook , nCode , wParam , lParam );<br>}</div> <div> </div> <div>g_hHook은 HHOOK 핸들입니다.</div> <div> </div> <div>nCode를 직접 비교하기도 했었는데 Stack Overflow에서 비슷한 삽질을 한 사람 얘길 들어보니 필요한 정보는 lParam에 WEP구조체 포인터로 넘어온다더군요.. 그래서 저렇게 했는데.. 아무일도 일어나지 않습니다. ㅠ_ㅠ</div> <div> </div> <div>질문 1. WM_USER 이상의 메시지를 후킹하려면 WH_CALLWNDPROC을 후킹하는 것이 맞나요?</div> <div>질문 2. 원하는 메시지를 낚았을 때 코드처럼 하는 거 말고 좀더 우아한 메시지 삭제 방법이 없을까요?</div> <div>아무말이라도 좋으니 조언좀.. orz</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.