새창이 뜰때를 알아내기위해서 게시판을 검색해보니 아래와같은 답변이 있더군요.
그런데 그것을 어떻게 선언을 해주고 사용을 해야하는지 초보가 되다보니 도대체 알길이 엇ㅂ습니다.
너그러이 봐주시고 사용법을 알려주시면 감사하겠습니다.
아래는 어던분의 답변 내용입니다.
///////////////////////////////////////////////////////////
WH_CALLWNDPROC을 쓰셔야 합니다.
그러면 다른 윈도우의 윈도우즈 프로시져를 서브 클래싱 할 수 있습니다.
function WndHookProc( Code: integer; WParam, LParam: LongInt):
LongInt; stdcall;
이런 함수로 콜백 함수를 만들었을때..
LParam으로 메시지 스트럭져가 나오는데 PCWPStruct를 스트럭쳐로
델파이에서 이미 선언 해 놓았습니다.
변수 선언은 다음과 같이 하시고
var
Msg : PCWPStruct;
아래와 같이 하시면 다른 창 안에서 뜨는 팝업 윈도우 같은 것들을 잡아 내실 수
있습니다.
if ( Code >= 0) then begin
if (Code = HC_ACTION) then begin
Msg := PCWPStruct(LParam);
if (Msg^.message = WM_ACTIVATE) and
(Msg^.LParam <> 0) and
(Msg^.LParam <> WA_INACTIVE) then
//처리
end;
end;