首页 相关文章 钩子(HOOK)机制的使用

钩子(HOOK)机制的使用

钩子(HOOK)机制的使用
  
  作者:e梦缘
  
  SetwindowsHookEx函数提供15种不同的消息监视类型,也就是15中不同的钩子。
  分别用于捕获某一特定类型或某一范围的消息(如:键盘消息,鼠标消息等)。
  我们这里仅以鼠标钩子的使用为例,讨论在DELPHI下怎样编写DLL程序和怎样在自己的程序中安装使用鼠标钩子函数。
  
  Windows提供API函数SetwindowsHookEx来建立一个Hook,
  通过这个函数可以将一个程序添加到Hook链中监视Windows消息,函数语法为:
  SetWindowsHookEx(idHook: Integer; lpfn: TFNHookProc; hmod: HINST; dwThreadId: DWORD)
  其中:
  参数idHook指定建立的监视函数类型。
  参数lpfn指定消息函数,在相应的消息产生后,系统会调用该函数并将消息值传递给该函数供处理。函数的一般形式为:
  Hookproc (code: Integer; wparam: WPARAM; lparam: L...[ 查看全文 ]

2016-02-19 标签:
  • Method Swizzling 原理 在Objective-C中调用一个方法,其实是向一个对象发送消息,查找消息的唯一依据是selector的名字。利用Objective-C的动态特性,可以实现在运行时偷换selector对应的方法实现,达到给方法挂钩的目的。 每个类都有一个方法列表,存放着selector的名字和方法实现的映射关系。IMP有点类似函数指针,指向具体的Method实现。 我们可以利用 method_exchangeImplementations 来交换2个方法...[ 查看全文 ]
  • 根据 Java API, 所谓 shutdown hook 就是已经初始化但尚未开始执行的线程对象。在Runtime 注册后,如果 jvm 要停止前,这些 shutdown hook 便开始执行。声明:Runtime.addShutdownHook(Thread t) 举例如下: 代码如下: package john2;   /**  * test shutdown hook  * All rights released and correctness not guaranteed.  */ public class ShutdownHook implements Runnable { &n...[ 查看全文 ]
  • 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 关于Hook的详细介绍,在微软的MSDN中有,http://www.microsoft.com/china/community/program/originalarticles/techdoc/hook.mspx 下面是我在C#中来应用Hook...[ 查看全文 ]
  • 标签:ASP
      Batman 翻译整理            一个很不错的建立自己的投票系统的ASP程序大家仔细读读,只要能够理解中间的关键技术,就能够在自己的网站上建立自己的投票站了。文件整理得很仓促,希望大家谅解。    版权所有:    ASP Polls    version 1.0    Tipped Cow Development and Adrenalin Labs    结构...[ 查看全文 ]
  • 标签:ASP
      Batman 翻译整理        4、文件default.asp    <%       ID = Request("ID")       If ID = "" Then           ID = 30       End If       Title = "Polls (Create your o...[ 查看全文 ]
  • 机制馒头 馒头,又称之为馍、馍馍(仅限于晋语、闽方言有此称呼,馍字是后造字,有人认为馍字来源于馒字在早先晋语的读音。关中、中原等地称之为馍),中国传统面食,以面粉和水发酵后蒸制而成,外形通常是半球形、长方体,大小从直径4厘米左右到直径15厘米左右均有。中国北方传统上以馒头(华北、东北、西北...小编想用一道美食跟各位吃货们教个朋友噢!机制馒头是一道美食精品食谱,没吃过这道的,你真的不算吃货噢!赶...[ 查看全文 ]
  • 、衔接 胎头双顶径进入骨盆入口平面,胎头颅骨最低点接近或达到坐骨棘水平,称为衔接(入盆)。胎头以半俯屈状态以枕额径进入骨盆入口,由于枕额径大于骨盆入口前后径,胎头矢状缝坐落在骨盆入口右斜径上,胎头枕骨在骨盆左前方。经产妇多在分娩开始后胎头衔接,部分初产妇在预产期前~2周内胎头衔接。 2 2、下降 是胎儿娩出的首要条件,胎头沿骨盆轴前进的动作称为下降。下降动作贯穿于分娩...[ 查看全文 ]
  • 标签:SQLServer
    SQL server锁的机制 SQL server的所有活动都会产生锁。锁定的单元越小,就越能越能提高并发处理能力,但是管理锁的开销越大。如何找到平衡点,使并发性和性能都可接受是SQL Server的难点。 SQL Server有如下几种琐: 1、 共享锁 用于只读操作(SELECT),锁定共享的资源。共享锁不会阻止其他用户读,但是阻止其他的用户写和修改。 2、 更新锁 更新锁是一种意图锁,当一个事物已经请求共享琐后并试图请求一个...[ 查看全文 ]
  • character_set_client ,这是用户告诉MySQL查询是用的什么字符集。 character_set_connection ,MySQL接受到用户查询后,按照character_set_client将其转化为character_set_connection设定的字符集。 character_set_results , MySQL将存储的数据转换成character_set_results中设定的字符集发送给用户。 DISCUZ并没有使用set NAMES character SET NAMES 'x'语句与这三个语句等价: mysql SET character...[ 查看全文 ]
  • Windows系统是一个消息驱动的OS,什么是消息呢?下面从不同的几个方面讲解一下。 1、消息的组成:一个消息由一个消息名称(UINT),和两个参数(WPARAM,LPARAM)。当用户进行了输入或是窗口的状态发生改变时系统都会发送消息到某一个窗口。例如当菜单转中之后会有WM_COMMAND消息发送,WPARAM的高字中(HIWORD(wParam))是命令的ID号,对菜单来讲就是菜单ID。当然用户也可以定义自己的消息名称,也可以利用...[ 查看全文 ]
  • 很多主流框架都使用了反射技术.像ssh框架都采用两种技术 xml做配置文件+反射技术. 与反射有关的类包. java.lang.reflect.*;和java.lang.Class; Java中所有类型(包括基本类型)都对应一个Class对象,这个Class就是java.lang.Class。即每一个类型,在Class中都有一个Class对象跟它对应.Class 没有公共构造方法。注意不是没有,是没有公共的. 如何获得Class对象 代码如下: .针对每一个对象.getCalss(),可...[ 查看全文 ]
  • .NET中的自绘机制 原著:Dino Esposito 翻译:Abbey 原文出处:MSDN Magazine Feb 2004(Cutting Edge) 原代码下载:CuttingEdge0402.exe (182KB) 每次 Microsoft 推出象 Office 或者 Visual Studio 这样拳头产品的新版本时,都会推出一些新的特性,其中包括了新的菜单样式(Menu Style)。当新的...[ 查看全文 ]
  • 埃博拉是一种丝状病毒 埃博拉属于丝状病毒的大家族,感染人群常常会出现出血热的现象。埃博拉在侵入人体细胞的时候会借助组织蛋白酶B和组织蛋白酶L来破开自身的蛋白质外壳,随之将自身的遗传物质注入到人体细胞的内部,并利用人体的营养物质开始大量的复制。这一过程类似于艾滋病病毒侵扰人体细胞。 埃博拉病毒的抵抗 知道了埃博拉病毒的感染过程...[ 查看全文 ]
  •  &www.tulaoshi.comnbsp;  重症肝炎的发生是由于人体对入侵病毒发生强烈的免疫反应,致使肝细胞大片坏死,同时发生机体细胞免疫功能衰竭。在重症肝炎时,免疫反应激发血清肿瘤坏死因子(tnf)水平增高,体内细菌乘虚而入,形成内毒素症环境;tnf+内毒素成为诱发肝细胞大片坏死的物质基础。tnf还可选择性杀伤已被病毒入侵的靶细胞,并促进感染细胞表面的组织相容性位点抗原(hla)表达,吸引细胞毒t...[ 查看全文 ]
  • 孕妇怀孕初期如何抵制晨吐 面对晨TuLaoShi.com吐,你唯一能做的就是不停地尝试各种不同的方法,直到找到适合你的那一种。如果始终无法缓解,你就只好期待着在怀孕14到16周时它能自动消失了。 晨吐,是很多孕妇都会经历的,但这个名字实际上并不完全准确,早孕期的呕吐可能会发生在一天中的每一个时刻,而不只是在早晨,并且有时只不过是感觉恶心,并不会真的呕吐。 大多数准妈妈在怀孕初期都会发生不同程...[ 查看全文 ]
  • 标签:SQLServer
    [导读: 各种大型数据库所采用的锁的基本理论是一致的,但在具体实现上各有差别。SQL Server更强调由系统来管理锁。在用户有SQL请求时,系统分析请求,自动在满足锁定条件和系统性能之间为数据库加上适当的锁,同时系统在运行期间常常自动进行优化处理,实行动态加锁。对于一般的用户而言,通过系统的自动锁定管理机制基本可以满足使用要求,但如果对数据安全、数据库完整性和一致性有特殊要求,就需要了解SQL ...[ 查看全文 ]
  • 13岁男孩,小学六年级学生,10岁时随同学去网吧玩互动游戏,开始每周放学后仅去1~2次,到时间自己知道回家,,以后逐渐迷恋于网上暴力游戏,去网吧次数增多,上网时间不断延长,常通宵达旦在网吧度过。自从玩网络游戏后,患者常逃学,上课注意力不集中,记忆力下降,终日不忘网上活动情景,学习成绩每况愈下。患者变得孤独,对同学冷漠,厌倦社会活动及家庭聚会。近一年又痴迷于网上聊天,结识一些网友...[ 查看全文 ]
  • 标签:手机游戏 IOS
    《部落战争》掠夺机制攻略 《部落战争》游戏中掠夺敌方玩家的资源是非常重要的。那么掠夺机制是怎样构成的呢?本篇文章将为大家详细的描述。   部落战争COC掠夺机制对这个游戏来说十分关键。这里不说单人的哥布林任务,只说玩家间的对战。首先,每匹配一次需要付出一定的黄金,数量由主城的等级决定。1-9级耗费从10-750 递增。每次战斗有三颗星,摧毁对方50%。 建筑一颗、摧毁对方主城一颗、摧...[ 查看全文 ]
  • 标签:Java JAVA基础
    一、在jdk1.2以后,类加载是通过委托来完成的,这意味着如果 ClassLoader 不能找到类,它会请求父代 ClassLoader 来执行此项任务,所有 ClassLoaders 的根是系统 ClassLoader,它会以缺省方式装入类 -- 即,从本地文件系统。今天我们就来探讨一下在jvm中这些机制是怎样运行的。让我们假设有一个class字节码文件(比如Hello.class文件),那么在应用程序中,他是如何被加载进来,并形成一个类对...[ 查看全文 ]
手机页面 收藏网站 回到头部