|
안녕하세요?
로우레벨 키보드 훅킹을 C++ Builder를 가지고 구현하려 합니다.
SetWindowsHookEx API를 이용하는데 훅킹 프로시저가 특정 폼 소스에 있어 해당 폼의 윈도우 핸들과 어플리케이션의 윈도우 핸들을 모두 넘겨보았는데 훅킹 핸들이 계속 널로 나오네요
경험해보신 분의 조언을 구합니다.
다음의 저의 예입니다.
DWORD dwVersion = GetVersion();
// Get major and minor version numbers of Windows
DWORD dwWindowsMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));
if(dwVersion < 0x80000000) // Windows NT
{
hkeyHook = SetWindowsHookEx(WH_KEYBOARD_LL, (HOOKPROC)LowLevelKeyboardProc, Application->Handle, 0);
}
else // Windows 98
{
hkeyHook = SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)KeyboardHookProc, 0, 0);
}
//win98 only (ALT-TAB, ALT-F4, CTRL-ALT-DEL)
SystemParametersInfo(SPI_SETSCREENSAVERRUNNING, TRUE, NULL, NULL);
hmouseHook = SetWindowsHookEx(WH_MOUSE, (HOOKPROC)MouseHookProc, Application->Handle, 0);
ShowCursor(FALSE);
이상과 같이 해보니( 키보드 훅킹 및 마우스 훅킹 ) 모두 다 널이 리턴되고 훅이 걸리지가 않네요
이 소스는 TForm4에 위치하고 있구요. 해당 cpp파일의 글로벌 영역에 지정한 훅 프로시저가 위치하고 있습니다.
고수님들의 조언 부탁합니다.
|