哪位大仙给小弟我解决一上啊多谢了关于键盘钩子的有关问题

哪位大仙给我解决一下啊,谢谢了关于键盘钩子的问题
是这样的,我建立一个基于对话框的程序,然后在他没有输入焦点的时候能够向他的编辑框输入类容,我用全局钩子来实现这个功能,但是回调函数中的程序视乎并没没哟执行,下面就是我回调函数的一部分代码:
switch (wParam)
  {
  case VK_NUMPAD0:
if (lParam&(1<<31==1))
{ MessageBox(NULL,"0","0轴成功",MB_OK);
while (1>0)
{switch (wParam)
{
case VK_NUMPAD1:
if (lParam&(1<<31==1))
{match=1;}
break;
case VK_NUMPAD2:
if (lParam&(1<<31==1))
{match=2;}
break;
case VK_NUMPAD3:
if (lParam&(1<<31==1))
  {match=3;}
break;
case VK_NUMPAD4:
if (lParam&(1<<31==1))
  {match=4;}
break;
case VK_NUMPAD5:
if (lParam&(1<<31==1))
  {match=5;}
break;
case VK_NUMPAD6:
if (lParam&(1<<31==1))
  {match=6;}
break;
case VK_NUMPAD7:
if (lParam&(1<<31==1))
  {match=7;}
break;
case VK_NUMPAD8:
if (lParam&(1<<31==1))
  {match=8;}
break;
case VK_NUMPAD9:
if (lParam&(1<<31==1))
  {match=9;}
break;
case VK_NUMPAD0:
if (lParam&(1<<31==1))
  {match=0;}
break;
}
}
}
  break;
这里连MessageBox(NULL,"0","0轴成功",MB_OK);视乎都没有执行。麻烦各位给我解答一下


------解决方案--------------------
回调函数不能够作为类的成员方法。所以也就不会执行了。
------解决方案--------------------
::SetWindowsHookEx(WH_KEYBOARD,&Gameproc,::GetModuleHandle("CS.dll"),0);
============
改成::SetWindowsHookEx(WH_KEYBOARD,Gameproc,::GetModuleHandle("CS.dll"),0);试试。函数名本身就代表地址,前面不用加&的。
------解决方案--------------------
SetWindowsHookEx 返回值,必须放在共享段。
这样,你和其他的进程才能看到被 HOOK 了。
------解决方案--------------------
C/C++ code

if (( lParam &(1 << 31))) // code is released.

------解决方案--------------------
和你说过了,回调函数不能过作为类的成员函数,所以不会执行。除非你用static.