• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 键盘钩子能响应长按键吗??到底能不能

键盘钩子能响应长按键吗??到底能不能

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了键盘钩子,易语言键盘钩子,键盘钩子是什么,c#键盘钩子,键盘钩子程序等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 键盘钩子能响应长按键吗??到底能不能
描述:

MSDN:Q187988 PRB: ActiveX Control Is the Parent Window of Modeless Dialog
中的方法,但是不能响应长按键。
我知道OnKeyDown中的Param中有标志长按键次数的,但是在键盘钩子上不行!
到底行不行啊!键盘钩子的原理我不懂,能给解释解释吗?
最好给个方案,代码如下
   // Handle to the Windows Message hook. It can be a global variable or a
   // member variable in your CPropertySheet-derived class.
   HHOOK hHook = NULL;
   // Hook procedure for WH_GETMESSAGE hook type.
   LRESULT CALLBACK GetMessageProc(int nCode, WPARAM wParam, LPARAM lParam)
   {
      // Switch the module state for the correct handle to be used.
      AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
if((lParam & 0x40000000)==0) // key down
{
BOOL bHandle = TRUE;
OnKeyDown(wParam, wParam, lParam, bHandle);
return 0;
}
      // Passes the hook information to the next hook procedure in
      // the current hook chain.
      return ::CallNextHookEx(hHook, nCode, wParam, lParam);
   }
   // Declare and define the following two functions:
   BOOL CModelessPropertySheet::OnInitDialog()
   {
      CPropertySheet::OnInitDialog();
      // Install the WH_GETMESSAGE hook function.
      hHook = ::SetWindowsHookEx(
         WH_GETMESSAGE,
         GetMessageProc,
         AfxGetInstanceHandle(),
         GetCurrentThreadId());
      ASSERT (hHook);
      return TRUE;   // Return TRUE unless you set the focus to a control.
                     // EXCEPTION: OCX Property Pages should return FALSE.
   }
   void CModelessPropertySheet::OnClose()
   {
      // Uninstall the WH_GETMESSAGE hook function.
      VERIFY (::UnhookWindowsHookEx (hHook));
      CPropertySheet::OnClose();
   }
--我喜欢WTL和ATL!--


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 如何用钩子屏蔽掉ctrl????????????
  • ocx调用GridCtrl失败
  • OCX控件局部鼠标钩子的问题
  • OCX中对话框加键盘钩子,ListCtrl,TreeList的使用都不正常了,不加钩子,收不到键盘消息,不知各位有什么好方法?
  • 键盘钩子如何截取其他进程中的键盘消息
  • 我的qq被盗了,再也找不回来了,可能用键盘钩子把我的密码盗取的,请问能否在系统中检测到其它进程中是否有全局钩子
  • 我做了一个全局键盘钩子,但连续几次运行没有卸载,现在该如何卸载呢?
  • 關於鍵盤鉤子的問題!
  • 关于键盘钩子
  • 如何用键盘和鼠标钩子封锁键盘和鼠标?

相关文章

  • 2017-06-05 怎么Hook不到send函数?
  • 2017-06-05 申请任进程/线程/DLL版块小版主
  • 2017-06-05 BHO调用其他应用程序
  • 2017-06-05 VC60中MFC编写的串口程序XP上运行正常,win7中无法获得串口,求指导~
  • 2017-06-04 用VC写Outlook2003插件,如何在邮件中插入图片
  • 2017-06-05 我做了一个动态库想调用另一个动态库中的导出函数请问怎么样调用?(请给出动态和静态调用的方法)
  • 2017-06-05 CtreeCtr控件的应用
  • 2017-06-05 进程句柄与进程id,线程句柄与线程id有何区别?
  • 2017-06-04 急!!急!!VBscript可以调用的一个ActiveX控件,VB却不可以调用
  • 2017-06-04 VC如何模拟键盘按键?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 请大家教教我这个可怜的菜鸟
    • 请问timeSetEvent函数的定义---急,在线!!
    • ●●●键盘钩子的问题●●●
    • 一个菜鸟问题:在哪里找到COleControl::IsSubClassedControl呀
    • VC60写了activex控件要打包在网页中运用?如何打包?
    • 微软SAPI的问题,很急,大家帮忙看一眼吧!
    • 难过,弄了一天的activex控件问题大家帮忙看哈
    • 通过IHTMLSelectionObject,如何得到当前选中的元素的属性以及id。
    • 如何初始化ocx控件的大小?
    • 怎样把程序做成window服务后台运行,100分马上出贴

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有