局部键盘钩子的有关问题

局部键盘钩子的问题

LRESULT CALLBACK KeyboardProc2(
_In_  int nCode,
_In_  WPARAM wParam,
_In_  LPARAM lParam
)
{

OutputDebugStringA("12ddd");
MessageBoxA(NULL,"123","123",MB_OK);
return CallNextHookEx(g_hook,nCode,wParam,lParam);
}

g_hook = SetWindowsHookExA(WH_KEYBOARD,KeyboardProc2,0,GetCurrentThreadId());

dll中的代码,注入到一个进程,始终不会执行回调函数
奇怪了,,
以前写过N多遍了,不知道为什么这次出问题。。
求救
------解决思路----------------------
改为
g_hook = SetWindowsHookExA(WH_KEYBOARD,KeyboardProc2, GetModuleHandle, 0);
注入到所有线程就可以了。
------解决思路----------------------
是否Hook成功 ?  GetLastError 看看错误码