hKeyHook = SetWindowsHookEx(WH_GETMESSAGE, hGetMsgProc, hinstDll, 0);
SetWindowHookEx는 A.exe에 사용되었습니다.
hGetMsgProc 은 B.dll 에 선언되었는데
hGetMsgProc 을 어떻게 구현해야 키보드 Numpad1 버튼을 눌렀을 때 원하는 텍스트(Beautiful Korea) 메시지가 나올까요?
제가 구현한 GetMsgProc 은 아래처럼 생겼습니다.
<A.exe>
LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)
{
static HINSTANCE hinstDll;
static HOOKPROC hGetMsgProc;
static HHOOK hKeyHook;
switch (iMessage)
{
case WM_CREATE:
LoadLibrary ....
GetProcAddress ....
hKeyHook = SetWindowsHookEx(WH_GETMESSAGE, hGetMsgProc, hinstDll, 0);
}
생략...
}
<B.dll>
MYDLL_160717 void GetMsgProc(INT nCode, WPARAM wp, LPARAM lp, HWND hWnd)
{
HDC hdc;
hdc = GetDC(hWnd);
TextOut(hdc, 100, 100, TEXT("Beautiful Korea"), 15);
ReleaseDC(hWnd, hdc);
return ;
}
이렇게 구현한 결과 아무키를 눌러도 아무런 반응이 없더라고요.
첫째은 어떤 키를 누르든 Beautiful Korea 메시지가 나왔으면 좋겠습니다.
둘째론 Numpad1 를 눌렀을때 Beautiful Korea 메시지가 나오게 하고싶습니다.
어떻게 구현해야 좋을지 감이 안잡힙니다.. 첫째인 방법, 어떤 키를 누르든 메시지가 나오게 하는 코드만이라도 알려주시면 정말 감사하겠습니다.
댓글 0