热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HOOKAPI入门篇(六)

10)编译项目生成mousehook.dll。2.创建钩子可执行程序(1)用MFC的AppWizard(EXE)创建项目Mouse;(2)选择“基于对话应用”并按下“完

10)编译项目生成mousehook.dll。

  2.创建钩子可执行程序

  (1)用MFC的AppWizard(EXE)创建项目Mouse;

  (2)选择“基于对话应用”并按下“完成”键;

  (3)编辑对话框,删除其中原有的两个按钮,加入静态文本框和编辑框,用鼠标右键点击静态文本框,在弹出的菜单中选择“属性”,设置其标题为“鼠标所在的窗口标题”;

  (4)在Mouse.h中加入对Mousehook.h的包含语句#Include”../Mousehook/Mousehook.h”;

  (5)在CMouseDlg.h的CMouseDlg类定义中添加私有数据成员:

《HOOK API 入门篇(六)》  CMouseHook m_hook;//加入钩子类作为数据成员

  (6)修改CmouseDlg::OnInitDialog()函数:

《HOOK API 入门篇(六)》  BOOL CMouseDlg::OnInitDialog()

《HOOK API 入门篇(六)》
《HOOK API 入门篇(六)》  
《HOOK API 入门篇(六)》{

《HOOK API 入门篇(六)》  CDialog::OnInitDialog();

《HOOK API 入门篇(六)》  ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);

《HOOK API 入门篇(六)》  ASSERT(IDM_ABOUTBOX <0xF000);

《HOOK API 入门篇(六)》  CMenu* pSysMenu = GetSystemMenu(FALSE);

《HOOK API 入门篇(六)》  if (pSysMenu != NULL)

《HOOK API 入门篇(六)》
《HOOK API 入门篇(六)》  
《HOOK API 入门篇(六)》{

《HOOK API 入门篇(六)》   CString strAboutMenu;

《HOOK API 入门篇(六)》   strAboutMenu.LoadString(IDS_ABOUTBOX);

《HOOK API 入门篇(六)》   if (!strAboutMenu.IsEmpty())

《HOOK API 入门篇(六)》
《HOOK API 入门篇(六)》  
《HOOK API 入门篇(六)》{

《HOOK API 入门篇(六)》   pSysMenu->AppendMenu(MF_SEPARATOR);

《HOOK API 入门篇(六)》   pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);

《HOOK API 入门篇(六)》   }

《HOOK API 入门篇(六)》  }

《HOOK API 入门篇(六)》  SetIcon(m_hIcon, TRUE);//Set big icon

《HOOK API 入门篇(六)》  SetIcon(m_hIcon, FALSE);//Set small icon

《HOOK API 入门篇(六)》  //TODO: Add extra initialization here

《HOOK API 入门篇(六)》  CWnd * pwnd=GetDlgItem(IDC_EDIT1);

《HOOK API 入门篇(六)》  //取得编辑框的类指针

《HOOK API 入门篇(六)》  m_hook.starthook(pwnd->GetSafeHwnd());

《HOOK API 入门篇(六)》  //取得编辑框的窗口句柄并安装钩子

《HOOK API 入门篇(六)》  return TRUE;

《HOOK API 入门篇(六)》  //return TRUE unless you set the focus to a control

《HOOK API 入门篇(六)》  }

《HOOK API 入门篇(六)》

  (7)链接DLL库,即把../Mousehook/debug/Mousehook.lib加入到项目设置链接标签中;

  (8)编译项目生成可执行文件;

  (9)把Mousehook.DLL拷贝到../mouse/debug目录中;

  (10)先运行几个可执行程序,然后运行Mouse.exe程序,把鼠标在不同窗口中移动,在Mouse.exe程序窗口中的编辑框内将显示出鼠标所在的应用程序主窗口的标题。


推荐阅读
  • 本文将详细介绍如何在Android Studio中导入和编译OSChina Android 2.4版本的源码。包括所需软件、下载地址以及一些注意事项。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 本文详细介绍如何使用Netzob工具逆向未知通信协议,涵盖从基本安装到高级模糊测试的全过程。通过实例演示,帮助读者掌握Netzob的核心功能。 ... [详细]
  • 通过将常用的外部命令集成到VSCode中,可以提高开发效率。本文介绍如何在VSCode中配置和使用自定义的外部命令,从而简化命令执行过程。 ... [详细]
  • C语言中全部可用的数学函数有哪些?2.longlabs(longn);求长整型数的绝对值。3.doublefabs(doublex);求实数的绝对值。4.doublefloor(d ... [详细]
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 深入解析 Android 中 EditText 的 getLayoutParams 方法及其代码应用实例 ... [详细]
  • 设计模式详解:模板方法模式的应用与实现
    模板方法模式是一种行为设计模式,通过定义一个操作中的算法骨架,将具体步骤的实现延迟到子类中。本文详细解析了模板方法模式的类图结构、实现方式以及挂钩机制,并结合实际案例进行了深入探讨。此外,文章还提供了丰富的参考资料,帮助读者更好地理解和应用这一设计模式。对于手机用户,建议横屏阅读以获得更佳的阅读体验。 ... [详细]
  • 在 Windows 10 环境中,通过配置 Visual Studio Code (VSCode) 实现基于 Windows Subsystem for Linux (WSL) 的 C++ 开发,并启用智能代码提示功能。具体步骤包括安装 VSCode 及其相关插件,如 CCIntelliSense、TabNine 和 BracketPairColorizer,确保在 WSL 中顺利进行开发工作。此外,还详细介绍了如何在 Windows 10 中启用和配置 WSL,以实现无缝的跨平台开发体验。 ... [详细]
  • Node.js 教程第五讲:深入解析 EventEmitter(事件监听与发射机制)
    本文将深入探讨 Node.js 中的 EventEmitter 模块,详细介绍其在事件监听与发射机制中的应用。内容涵盖事件驱动的基本概念、如何在 Node.js 中注册和触发自定义事件,以及 EventEmitter 的核心 API 和使用方法。通过本教程,读者将能够全面理解并熟练运用 EventEmitter 进行高效的事件处理。 ... [详细]
author-avatar
null5269
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有