频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

低级键盘钩子屏蔽Win键、Alt+Tab键的响应

来源:CSDN 作者:陆其明 出处:巧巧读书 2005-11-09 进入讨论组
上一页 1 2 

  //  低级键盘钩子处理函数 
  LRESULT  CALLBACK  LowLevelKeyboardProc(int  nCode,  WPARAM  wParam,  LPARAM  lParam) 
  { 
         BOOL  fEatKeystroke  =  FALSE; 
         PKBDLLHOOKSTRUCT  p  =  NULL;  

    if  (nCode  ==  HC_ACTION)   
         { 
                 p  =  (PKBDLLHOOKSTRUCT)  lParam; 
                 switch  (wParam)   
                 { 
                         case  WM_KEYDOWN:   
                         case  WM_SYSKEYDOWN: 
                                                 case  WM_KEYUP:         
                         case  WM_SYSKEYUP:   
                 fEatKeystroke  =  (p->vkCode  ==  VK_LWIN)    ¦  ¦  (p->vkCode  ==  VK_RWIN)    ¦  ¦    //  屏蔽Win 
                 //  屏蔽Alt+Tab 
                 ((p->vkCode  ==  VK_TAB)  &&  ((p->flags  &  LLKHF_ALTDOWN)  !=  0))    ¦  ¦ 
                 //  屏蔽Alt+Esc 
                 ((p->vkCode  ==  VK_ESCAPE)  &&  ((p->flags  &  LLKHF_ALTDOWN)  !=  0))    ¦  ¦ 
                 //  屏蔽Ctrl+Esc 
                 ((p->vkCode  ==  VK_ESCAPE)  &&  ((GetKeyState(VK_CONTROL)  &  0x8000)  !=  0)); 
                 break; 
                         default: 
                                 break; 
             } 
         }  
 
  return  (fEatKeystroke  ?  TRUE  :  CallNextHookEx(glhHook,nCode,wParam,lParam)); 
  } 

  大家可以看到,当程序发现按下的是Win键或者Alt+Tab组合键,就不再调用CallNextHookEx函数将这个消息传递下去。以此,我们做到了屏蔽这些按键的响应。  
  
  第二步,钩子DLL的测试程序。在VC中创建一个基于对话框的应用程序。通过调用LoadLibrary("KeyMask.dll")载入钩子DLL,通过GetProcAddress(m_hDll,"StartKeyMask")和GetProcAddress(m_hDll,"StopKeyMask")导入两个安装/卸载钩子的函数。在主对话框上定义两个按钮分别调用这两个函数,如下:

  当按下“Start_Hook”按钮,我们的钩子函数就起作用了。试一下Win键,或者Alt+Tab组合键,没反应了吧?!“Stop_Hook”按钮可以解除这个钩子。  

  讲到这,大家可能觉得钩子其实也是很容易的东西。是的,钩子容易使用,而且功能强大。但是,笔者建议,如果不是十分必要,请尽量少用钩子。因为钩子在实现强大功能的同时,可能也会严重降低你系统的性能。有时候是得不偿失的! 
Web: http://www.qqread.com/pb/z320741070.html进入讨论组讨论。
上一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章