我搞了个全局钩子,
本来只想钩掉windows键的,但是却发现钩不到。于是就直接在KeyboardProc下用return 1返回,打算钩掉所有按键。
但却发现其它键都不能用了,而windows键还能用。
怎么这个windows键就钩不住呢?
大家帮帮忙!

解决方案 »

  1.   

    Ctrl+Alt+Del這個組和鍵不能用鈎子來屏蔽
      

  2.   

    谢谢。
    不过我只想屏蔽windows键,
    就是ctrl和alt之间的那个键,按下后弹出开始菜单的那个。
      

  3.   

    那位兄弟帮帮忙?自己顶顶。csdn越来越冷清了,唉
      

  4.   

    网上搜的,看看有没用
    因为系统键在调用WH_KEYBOARD钩子之前就已经被处理了,你在WH_KEYBOARD钩子中无法处理。在Windows 9x下要禁用系统键可以参考QA000295 "如何封锁“CTRL+ALT+DEL”和“ALT+ESC”组合键"、QA000171 "如何封锁ALT-TAB、ALT-CTRL-DEL键以及不让Windows的任务栏出现"。
        在Windows NT 4.0 SP3以后的版本可以使用WH_KEYBOARD_LL钩子。
        
        某人的的意见:
        建议用日志钩子,他在系统处理前处理。
      

  5.   

    谢了,问题解决了。
    以后打魔兽就不怕按到windows键呵呵。
    注:
    在xp下用WH_KEYBOARD_LL钩子,
    需要加以下几句:#define WH_KEYBOARD_LL 13   //缺少这句会提示WH_KEYBOARD_LL没定义typedef struct tagKBDLLHOOKSTRUCT {             //缺少此结构体的定义,会提示KBDLLHOOKSTRUCT没定义。
                                                           //此结构体是从winuser.h里面拷过来的
        DWORD   vkCode;
        DWORD   scanCode;
        DWORD   flags;
        DWORD   time;
        DWORD   dwExtraInfo;
    } KBDLLHOOKSTRUCT, FAR *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;
    结贴。谢谢大家。