钩子过程必须具有以下语法:

LRESULT CALLBACK HookProc(int nCode, WPARAM wParam, LPARAM lParam
)
{//进程事件...返回CallNextHookEx(NULL,nCode,wParam,lParam);
}

HookProc是特定的回调函数,CallNextHookEx表示将钩子信息传递给当前钩子链中的下一个钩子过程.

LRESULT WINAPI CallNextHookEx(_In_opt_ HHOOK hhk,_In_      int     nCode,_In_ WPARAM wParam,_In_ LPARAM lParam
);

参数
hhk [in,可选]
类型:HHOOK
此参数被忽略。

nCode [in]
类型:int
钩子代码传递给当前的钩子过程。下一个钩子过程使用此代码来确定如何处理挂钩信息。

wParam [in]
类型:WPARAM
所述的wParam传递给当前挂钩过程值。此参数的含义取决于与当前钩链相关联的钩子类型。

lParam [in]
类型:LPARAM
所述的lParam传递给当前挂钩过程值。此参数的含义取决于与当前钩链相关联的钩子类型。

返回值
类型:LRESULT
该值由链中的下一个钩子过程返回。当前的钩子过程也必须返回此值。返回值的含义取决于钩子类型.

HookProc 和 CallNextHookEx相关推荐

  1. Hook函数三步走(SetWindowsHookEx、UnhookWindowsHookEx、CallNextHookEx)

    文章目录 Hook(Windows系统机制) Hook定义 Hook原理 系统钩子与线程钩子 钩子函数 设置钩子: SetWindowsHookEx 参数说明: 释放钩子: UnhookWindows ...

  2. 使用钩子函数[4] - 钩子链和 CallNextHookEx 的返回值

    SetWindowsHookEx 函数的第一个参数表示钩子类型, 共有 14 种选择, 前面我们已经用过两种: WH_KEYBOARD.WH_MOUSE. 系统会为每一种类型的钩子建立一个表(那就是 ...

  3. c++ hook 钩子的使用介绍

    一.基本概念: 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的.当消息到达后,在目标窗口处理函数之 ...

  4. 《windows核心编程系列》十八谈谈windows钩子

    windows应用程序是基于消息驱动的.各种应用程序对各种消息作出响应从而实现各种功能. windows钩子是windows消息处理机制的一个监视点,通过安装钩子能够达到监视指定窗体某种类型的消息的功 ...

  5. C#进行单击操作、单击位置记录、捕获全局左右键单击事件

    自己封装了AClick.cs和Win32Api.cs两个类,下面有源码,直接调用即可 源码地址:C#单击操作.位置记录.捕获单击事件源码 效果图: 1.单击操作 new AClick().AutoCl ...

  6. [C++]键盘钩子程序

    实现适时监视键盘,并将按键信息保存在TXT文件中的程序 Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的.而钩子是Windows系统中非常重要的系统接口,用它 ...

  7. wince中的hook(钩子)用法

    wince中的hook(钩子)用法 Hook(钩子)是一种在消息到达目标窗口前进行截获的技术.使用钩子主要使用以下三个函数SetWindowsHookEx:创建钩子 CallNextHookEx:将消 ...

  8. 键盘谍影 键盘监视器的原理和防范

    简介 本文将详细讨论一个键盘监视器的C++/C#开发过程并针对反窥探提出了一些建议.希望读者理解基于钩子技术的窥探软件的工作原理以更好地针对自己的软件加以保护. 背景 基于软件的键盘事件记录器是一个严 ...

  9. C#调用Win32 的API函数--User32.dll

    Win32的API函数是微软自己的东西,可以直接在C#中直接调用,在做WinForm时还是很有帮助的.有时候我们之直接调用Win32 的API,可以很高效的实现想要的效果. using System; ...

最新文章

  1. Ubuntu在终端执行命令时出现的错误
  2. Python 学习笔记(3)对txt文件的读与写操作(下)
  3. 国外创意网站设计欣赏的200佳网站推荐(系列十)
  4. 一个历史遗留问题,引发的linux内存管理的‘血案’
  5. linux 内核模型,The Linux Kernel Device Model - Overview -- Linux 内核设备模型概述
  6. vue router children 路由变了 组件没变_Vue.js从零开始——路由(2)
  7. 从伪随机数的产生到高大上的蒙特卡洛算法(C语言实现)
  8. makefile obj文件路径_makefile中包含的文件的路径
  9. iOS 五种传值方式
  10. 金融行业灾备压力大?看中和农信如何从容应对
  11. ansys15.0安装教程
  12. HBase Rowkey的散列与预分区设计
  13. 使用八爪鱼工具爬取京东当前所有手机信息存入mysql
  14. MindManager22全新版思维导图软件工具
  15. 安卓腾讯Bugly使用教程
  16. 彪悍的人生不需要解释!
  17. fastJson与String、对象、集合之间相互转换
  18. linux卸载veil,Kali Linux中的VEIL Framework绕过防病毒软件实验
  19. GLES2.0中文API-glBlendFunc
  20. 低成本MEMS惯导系统的捷联惯导解算MATLAB仿真

热门文章

  1. 阿里云ubuntu mysql_Ubuntu下安装MySQL(阿里云服务器)
  2. leetcode:剑指offer----数组中重复的数字
  3. 最后一周!导师推荐的转录组和可视化学习捷径
  4. 精选| 2020年12月R新包推荐(第49期)
  5. 遗传所屠强研究组开发Decode-seq方法显著提高差异表达基因分析的准确性
  6. Mac Backup软件:不要冒险您的数据!
  7. 计算机教育部学科评估2019,2019教育部8大学科评估公示名单,学科实力一眼较高低!...
  8. 远程计算机怎么安装软件安装,轻松一步把电脑上的软件远程安装到电视上!
  9. php连接mysql数据没反应_PHP mysql 数据库连接时 网页无法显示
  10. 操作系统课设之Windows 进程管理