CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

全局钩子问题?

楼主kkobebryant(分手不是我的本意)2004-09-03 18:45:14 在 VC/MFC / 基础类 提问

我想屏弊键盘的"q"键,核心程序看下:  
  DllExport   void   WINAPI   InstallLaunchEv()    
  {    
  Hook=(HHOOK)SetWindowsHookEx(WH_KEYBOARD,    
  (HOOKPROC)LauncherHook,    
  theApp.m_hInstance,    
  0);    
  }    
   
   
  LRESULT   CALLBACK   LauncherHook(int   nCode,WPARAM   wParam,LPARAM   lParam)    
  {    
  LRESULT   Result=false;  
      if(nCode==HC_ACTION)    
      {    
          if(lParam   &   0x80000000)    
        {    
      char   c[1];    
      c[0]=wParam;    
      if(c[0]=='q')  
      {    
  Result=true;  
        }  
        else  
      {  
          Result=CallNextHookEx(Hook,nCode,wParam,lParam);  
        }  
   
   
  }    
  }    
   
  return   Result;    
  }    
  运行结果是把全部键都屏蔽了,怎样改啊??  
  问题点数:100、回复次数:7Top

1 楼kkobebryant(分手不是我的本意)回复于 2004-09-03 18:46:58 得分 0

在线等啊,急!Top

2 楼lianglp(寻找黄金分割点)回复于 2004-09-03 19:18:00 得分 30

LRESULT   CALLBACK   LauncherHook(int   nCode,WPARAM   wParam,LPARAM   lParam)    
  {    
      if(nCode==HC_ACTION   &&   (lParam   &   0x80000000))    
      {    
      char   c[1];    
      c[0]=wParam;    
      if(c[0]=='q')  
      {    
  return   TRUE   ;  
        }  
      }  
        return   CallNextHookEx(Hook,nCode,wParam,lParam);  
  }    
  Top

3 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2004-09-03 19:28:23 得分 5

Result=CallNextHookEx(Hook,nCode,wParam,lParam);  
  作为回调函数的返回Top

4 楼kugou123(酷狗)(彪悍的人生,不需要解释 www.xiaozhou.net)回复于 2004-09-03 21:02:08 得分 2

LRESULT   CALLBACK   LauncherHook(int   nCode,WPARAM   wParam,LPARAM   lParam)    
  {    
      if(nCode==HC_ACTION   &&   (lParam   &   0x80000000))    
      {    
      char   c[1];    
      c[0]=wParam;    
      if(c[0]=='q')  
      {    
  return   TRUE   ;  
        }  
      }  
        return   CallNextHookEx(Hook,nCode,wParam,lParam);  
  }    
  正确答案。嘿嘿。。。Top

5 楼crystal521(【云淡风轻】)回复于 2004-09-03 21:30:17 得分 1

同意上面的Top

6 楼huwei001982(凶猛的小狗)回复于 2004-09-04 09:51:14 得分 59

有两点:  
  1\   LauncherHook   应该是放在   DLL   中的  
   
  2\char   c[1];    
      c[0]=wParam;    
      if(c[0]=='q')  
  不明白为什么要这样写,   我一般是这样写  
   
      BYTE   byte   =   (BYTE)wParam;  
      if   (byte   ==   'q')Top

7 楼joachern(程序人生)回复于 2004-09-04 10:29:53 得分 3

gzTop

相关问题

  • 又是全局钩子
  • 关于全局钩子(HOOK)
  • 全局钩子问题
  • 全局钩子的问题/
  • 请问如何设置全局钩子?
  • 请问:怎样注册全局钩子??
  • 关于全局钩子的问题
  • 全局钩子问题求助?
  • 求一鼠标全局钩子
  • 关于全局钩子的问题

关键词

  • launcherhook
  • ncode
  • wparam
  • lparam
  • x80000000
  • callnexthookex
  • hc
  • lresult callback
  • hook
  • result

得分解答快速导航

  • 帖主:kkobebryant
  • lianglp
  • oyljerry
  • kugou123
  • crystal521
  • huwei001982
  • joachern

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo