请问各路大虾,我碰到一个这样的问题:
1。我想实现只能使用数字键和字母键,利用键盘钩子能获得各键码的键值,
 然后只处理数字键和字母键;但是有部分功能键仍然还有原来的功能,如F1,Lwin, Rwin键等,不只为何?
2. 我利用消息钩子,试图通过改变消息来改变功能键原来的功能,但是发现部分功能键仍然改变不了,不止为何?
其中2。的代码如下:
Hook=SetWindowsHookEx(WH_GETMESSAGE,(HOOKPROC)LauncherHook,theApp.m_hInstance,0);
LRESULT CALLBACK LauncherHook(int nCode,WPARAM wParam,LPARAM lParam)
{
    if (nCode==HC_ACTION)
    {
       PMSG pmsg=(PMSG)lParam;
        if (pmsg->message==WM_KEYDOWN)
        {
            (((PMSG)lParam)->wParam)++;
        }
        
    }
    
    return CallNextHookEx(Hook,nCode,wParam,lParam);
}

解决方案 »

  1.   

    会用Hook的人已经是高手了,没必要再去问别人了,自己找找答案吧.不过我认为,Hook级别的键盘钩子也就只能有这样的权限了,要想截获功能键要另找它途了.
      

  2.   

    您可以去这里下载一个软件,可以截获所有功能鍵:
         www.aslike.net
      

  3.   

    上边的,我怎么没见有?
    现在的问题,不是钩子不成功。而是部分功能键封禁不了。如Lwin,Rwin,Ctrl+alt+del
    怎样才能去掉这些功能键,只要去掉一定给分,不够再加
      

  4.   

    这几个应该算是系统键吧,把WM_SYSKEYDOWN加进去试试看。