2012-02-26 3 views
-1

타사 DLL을로드하고 때로는 응용 프로그램의 흐름을 멈추게하는 MessageBox 창을 열 때 이런 상황이 발생할 때를 감지 할 수 있기를 원합니다.타사 DLL에서 생성 된 메시지 상자 검색

SetWindowsHookExWH_CBT과 함께 사용하려고하는데 콜백이 호출되지 않습니다.

것은 나는 이런 식으로 호출 시도 :

SetWindowsHookEx (WH_CBT, myCallback, NULL, 0); 

을하지만 일을하지 않았다.

이 기능을 올바르게 호출하려면 어떻게해야합니까?

+2

당신은 함수에 NULL과 0 전달하여 후크를 주입하지 않을 수 있습니다. 에러 처리를 개선하고 API 함수 반환 값을 무시하지 마십시오. –

+0

또한 SetWindowsHookEx (WH_CBT, myCallback, GetModuleHandle (0), GetCurrentThreadId())를 시도했지만 아무 소용이 없습니다. – kambi

+2

무작위로 시도하고 있습니다. WH_CBT와 같은 전역 후크 (hook)는 다른 프로세스에 주입 할 수있는 DLL을 필요로합니다. 그건 GetModuleHandle (0)이 될 수 없습니다, 당신은 자신의 EXE를 삽입 할 수 없습니다. google 히트를 방문하십시오, 이것은 잘 다뤄집니다. –

답변