임펠리테리입니다.
저는 후킹을 사용한 방법을 말씀드렸는데, 보여주신 소스는 WndProc을 갈아치우는
방법인가보군요.
지금 고향집에 내려와있어서 구체적으로 답변을 드리긴 어렵구요. 쩝.
문제는 두개의 함수의 포인터 선언입니다.
TFarProc FExtWndProc;
Pointer FOldWndProc;
보시는 선언은 델파이식의 함수 포인터입니다. 파스칼 문법에는 함수의 포인터라는
개념이 없으므로 좀 편법적으로 선언을 한겁니다. 당근 씨에서라면 좀 다르게 선언
합니다. 에러 메시지로 봐서는, 두개씩 짝지어진 것들중 두번째 것은 다음과 같아야
합니다.
int (__stdcall *)FOldWndProc();
그런데, 실제로 정석은 좀 다르게 될겁니다. __stdcall 대신에 WINAPI를 쓰고..
자세히는 기억이 안나는군요. (WINAPI가 __stdcall로 선언되어 있습니다.)
정확한 문법은 관련 소스를 참고하시는 것이 좋겠군요.
그럼 참고하시길...
독립문에서 임펠리테리였습니다.
(cbuilder, cbuilder@thrunet.com)
|