37 lines
750 B
C++
37 lines
750 B
C++
|
|
// 2010.06.17 - prodongi
|
|
#include "Hooking.h"
|
|
#include "Windows.h"
|
|
#include "GameRule.h"
|
|
|
|
static HHOOK hKeyboardHook = NULL;
|
|
|
|
LRESULT CALLBACK keyboardProc(int code, WPARAM wParam, LPARAM lParam)
|
|
{
|
|
if (0 < code)
|
|
{
|
|
int vk = LOWORD(wParam);
|
|
// key down
|
|
if (!(lParam & 0x80000000))
|
|
{
|
|
if(GameRule::GetCurrentLocalBitSet() == GameRule::LOCAL_BITSET::KR)
|
|
{
|
|
if (VK_HANJA == vk)
|
|
return 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
return ::CallNextHookEx(hKeyboardHook, code, wParam, lParam);
|
|
}
|
|
|
|
bool initKeyboardHook()
|
|
{
|
|
hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)keyboardProc, NULL, GetCurrentThreadId());
|
|
return (hKeyboardHook) ? true : false;
|
|
}
|
|
|
|
bool delKeyboardHook()
|
|
{
|
|
return (TRUE == UnhookWindowsHookEx(hKeyboardHook)) ? true : false;
|
|
} |