-3
나는 아래의 코드에서 언급 한 바와 같이 후크 프로 시저 GetMsgProc 내부에 메시지를 인쇄하려고를 사용하여 GetMsgPrc를 호출 할 수 없습니다 :WH_GETMESSAGE 후크
LRESULT WINAPI GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam)
{
printf("inside hook proc");
return CallNextHookEx(getmsghook, nCode, wParam, lParam);
}
void main()
{
HINSTANCE hins;
hins = GetModuleHandle(NULL);
getmsghook = SetWindowsHookEx(WH_GETMESSAGE, (HOOKPROC) GetMsgProc, hins, 0);
MSG message;
while (GetMessage(&message, NULL, 0, 0))
{
TranslateMessage(&message);
DispatchMessage(&message);
}
UnhookWindowsHookEx(getmsghook);
}
// ---------- -------------------------------------------------
제 생각 엔 모든 키보드 또는 마우스 입력에 대해 해당 메시지가 인쇄됩니다. 하지만 왜 그런 일이 일어나지 않는지 알 수는 없습니다. 도와 주실 수 있겠습니까?
올바르게 다시 호출하면 해당 훅은 창 핸들에 _sent_ 인 메시지 만 캡처합니다. –
@ 500-InternalServerError : 필수는 아닙니다. WH_GETMESSSAGE를 WH_MOUSE_LL로 바꾸면 작동합니다. – Roger1990
@ 500-InternalServerError 'WH_GETMESSAGE'는 (Peek | Get) Message()를 통해 전달되는 메시지를 게시, 전송, 방송 등 어떤 것이라도 포착합니다. 대신 WH_CALLWNDPROC/RET를 생각해 볼 수 있습니다. 창문에. –