开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 871|回复: 20
收起左侧

[易源码分享] dm插件,不绑窗口,实现图色+键盘的逻辑。

[复制链接]

结帖率:96% (87/91)
发表于 6 天前 | 显示全部楼层 |阅读模式   湖北省十堰市
dm插件在7.2336开始就不支持绑定桌面句柄了。
现在必须绑定目标窗口
然而,对于强检测的游戏,还是有些局限性
没有必要费时费力的强行绑定窗口。

今天,给大家说个思路,怎么应对这种情况。

1:创建一个透明窗口,覆盖在游戏窗口上层
利用Windows窗口消息机制,
创建一个具有 WS_EX_LAYERED(分层透明)和 WS_EX_TRANSPARENT(鼠标穿透)
扩展样式的顶层窗口。此窗口在视觉上完全透明
在逻辑上不拦截任何鼠标/键盘消息,使其成为一个完美的“隐形操作层”。


2:绑定我们创建的窗口
已经实现窗口位置,尺寸,颜色穿透,键鼠穿透
那么绑定我们创建的透明窗口,就实现绑定游戏窗口。
前台代码,所有功能都会穿透过去,直接操作对象。

3:消息循环
利用循环,实时的跟随游戏窗口尺寸变化,尺寸变化。

4:技术风险,弊端
  4.1. 图色失真风险:简单全透明设置可能影响大漠截图效果,建议测试或使用GDI+绘制。
  4.2. 稳定性风险:可能被反作弊系统误判,需保持置顶(TopMost)以适应目标窗口变化。
  4.3. 键盘焦点问题:确保代理窗口永远不获取键盘焦点(如 SW_SHOWNOACTIVATE),以防按键丢失。



5:实现的难度。
易语言层面,根本不难,黑月的窗口创建,完全可以自定义扩展样式
纯透明,穿透都可以实现
再挂接一个死循环,20行代码可以实现全部。

以下是所需的三个Windows API常量数值:
SW_SHOWNOACTIVATE    4    0x0004    ShowWindow函数参数:以最近的大小和位置显示窗口,但不激活窗口
WS_EX_LAYERED    524288    0x80000    扩展窗口样式:创建分层窗口,支持透明和半透明效果
WS_EX_TRANSPARENT    32    0x00000020L    扩展窗口样式:使窗口鼠标穿透,底层窗口可接收鼠标事件


6:相关代码
  
子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
变量名类 型静态数组备 注
扩展风格整数型 
窗口句柄  
类名文本型 
实例句柄整数型 
扩展风格 = 位或 (524288, 32)  ' WS_EX_LAYERED (524288) + WS_EX_TRANSPARENT (32)
类名 = “TransparentWindowClass”
' 创建全屏窗口
实例句柄 = 获取实例句柄 (0)
窗口句柄 = CreateWindowEx (扩展风格, 类名, “”, 位或 (2147483648, 268435456), 0, 0, 取屏幕宽度 (), 取屏幕高度 (), 0, 0, 实例句柄, 0)
输出调试文本 (窗口句柄, 实例句柄)
' 设置分层透明属性(完全透明)
SetLayeredWindowAttributes (窗口句柄, 0, 0, 2)  ' 参数2=完全透明
' 显示窗口(不激活)
ShowWindow (窗口句柄, 4)  ' SW_SHOWNOACTIVATE = 4




完结,大家自行测试。
点击链接加入群聊【易语言-吹牛逼】QQ群:607124662

评分

参与人数 2好评 +1 精币 +3 收起 理由
kyo9766 + 1 感谢分享,很给力!~
inat + 1 + 2 感谢分享,很给力!~

查看全部评分


结帖率:74% (17/23)

签到天数: 5 天

发表于 昨天 09:53 | 显示全部楼层   四川省成都市
感谢分享
回复 支持 反对

使用道具 举报

签到天数: 18 天

发表于 前天 09:38 | 显示全部楼层   浙江省宁波市
感谢分享,支持开源!!!
回复 支持 反对

使用道具 举报

签到天数: 18 天

发表于 3 天前 | 显示全部楼层   浙江省宁波市
感谢分享,支持开源!!!
回复 支持 反对

使用道具 举报

结帖率:0% (0/2)

签到天数: 9 天

发表于 4 天前 | 显示全部楼层   广西壮族自治区玉林市
感谢分享!
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 13 天

发表于 5 天前 | 显示全部楼层   湖北省十堰市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:95% (77/81)

签到天数: 17 天

发表于 5 天前 | 显示全部楼层   福建省宁德市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

签到天数: 12 天

发表于 5 天前 | 显示全部楼层   安徽省合肥市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 17 天

发表于 5 天前 | 显示全部楼层   浙江省温州市
大神,膜拜。 想法超前啊
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)

签到天数: 15 天

发表于 5 天前 | 显示全部楼层   山东省青岛市
想法很新颖,感谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表