linux窗口消息全局hook,易语言通过消息全局钩子截获外部窗口消息

本文介绍如何使用易语言调用动态链接库msghook.dll,实现在Linux环境下对记事本等外部窗口的全局消息截获。通过开始截获和结束截获的子程序,设置和移除消息钩子,实现对特定窗口的监控。
摘要由CSDN通过智能技术生成

上节课视频教学我们封装了一个消息钩子的动态链接文件,这节课我们通过易语言主程序实现调用,从而对记事本外部窗口的的消息截获,换成我们的hook内容。首先我们封装一个开始截获和结束截获的方法。我们调用LoadLibraryA动态加载我们上节课封装的消息钩子动态链接文件msghook.dll

开始截获

.版本 2

.子程序 开始截获, 逻辑型

.参数 窗口句柄

.局部变量 hmod, 整数型

.局部变量 lpProc, 子程序指针

.局部变量 ThreadID, 整数型

.局部变量 hHook, 整数型

.如果真 (窗口句柄 = 0)

返回 (假)

.如果真结束

.如果真 (GetPropA (窗口句柄, #prop) ≠ 0)

' 不等于0说明已经加载过钩子了

返回 (假)

.如果真结束

' 第一步 获取 Hookdll的 句柄

hmod = LoadLibraryA (取运行目录 () + “\msghook.dll”)

' 第二步 获取GetMsgProc 这个回调函数的 指针

lpProc = GetProcAddress (hmod, “GetMsgProc”)

' 第三部 获取截获窗口的线程ID

ThreadID = GetWindowThreadProcessId (窗口句柄, 0)

' 给指定的窗口安装消息钩子,该窗口在收到postMessage的消息后会自动加载钩子函数所在的DLLmsghook.dll

hHook = SetWindowsHookExA (#WH_GETMESSAGE, lpProc,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值