QQ登录

只需一步,快速开始

221上位机VC MFC利用键盘钩子实现系统键盘输入监控与显示

[ 复制链接 ]

221上位机VC MFC利用键盘钩子实现系统键盘输入监控与显示

221上位机VC MFC利用键盘钩子实现系统键盘输入监控与显示
221上位机VC MFC利用键盘钩子实现系统键盘输入监控与显示
功能展示
钩子是微软操作系统中消息处理机制的一个重要组成部分,我们编写的程序 可以利用钩子机制监视系统的消息传递,在这些消息达到目标窗口之前处理它们,钩子的类型有很多,不同类型钩子可以处理不同各类的消息,如键盘钩子可以截获键盘消息,鼠标钩子可以截获鼠标消息,我们当前例程实现全部键盘消息的截获与处理,并将截获的消息显示出来;效果如图
要点提示
我们可以通过调用函数SetWindowsHookEx()让系统有消息触发时都调用我们指定的回调函数,在此函数体内我们就可进一步处理如键盘,鼠标等相关消息;HHOOK WINAPI SetWindowsHookEx(
__in int idHook, \\钩子类型
__in HOOKPROC lpfn, \\回调函数地址
__in HINSTANCE hMod, \\实例句柄
__in DWORD dwThreadId); \\线程ID
函数返回的HHOOK类型变量,我们得在程序退出进调用函数UnhookWindowsHookEx()进行释放
实现功能
1.新建基于对话框的应用程序
2.拖拽一编辑框ID为IDC_EDIT1用于显示截获的键盘消息;添加函数SetEditText()用于在编辑框中显示键盘消息
  1. void CGkbc8Dlg::SetEditText(CString sText)
  2. {
  3.         CEdit*pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);
  4.         pEdit->HideCaret();
  5.         CString sData;
  6.         pEdit->GetWindowText(sData);
  7.         if(sText=="VK_RETURN")
  8.         {
  9.                 sData+="\r\n";
  10.         }
  11.         else
  12.         {
  13.                 sData+=" ";
  14.                 sData+=sText;
  15.         }
  16.         pEdit->SetWindowText(sData);//设置编辑框文本
  17. }
复制代码
3.在主对话框源文件顶部添加回调函数
CGkbc8Dlg *g_pWnd ;
HHOOK     g_hHook;
LRESULT CALLBACK KeyHook(int nCode,WPARAM wParam,LPARAMlParam)用于处理具体的消息信息;函数体内容过多,可打开例程源码观看;
4.在对话框初始化函数OnInitDialog()中初始化
  1. //start Low Level Keyboard hook        
  2.         g_hHook=SetWindowsHookEx(WH_KEYBOARD_LL,KeyHook,GetModuleHandle(NULL),0);
  3.         if(!g_hHook)
  4.                 ::MessageBox(m_hWnd,TEXT("SetWindowsHookEx KeyHook failed"),NULL,MB_OK);

  5.         g_pWnd = this;
  6.         g_hHook = NULL;
复制代码


5.在对话框退出函数OnDestroy()卸载钩子UnhookWindowsHookEx(g_hHook);
要注意的是在STDAFX.h头文件中得添加代码#define   _WIN32_WINNT   0x0500  //必须在此添加这一句,以使钩子相关函数能够编译通过
我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:221.上位机VC MFC利用键盘钩子实现系统键盘输入监控与显示.rar 
文件大小:155.7 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索