开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 754|回复: 0
收起左侧

[图文资料] 易语言植物大战僵尸源码自写有什么问题

[复制链接]
发表于 2019-7-16 09:15:55 | 显示全部楼层 |阅读模式   河南省商丘市

.版本 2
.支持库 EThread
.支持库 spec

.程序集 窗口程序集_启动窗口
.程序集变量 handle, 整数型
.程序集变量 pid
.程序集变量 threadhandlq

.子程序 __启动窗口_创建完毕

pid = 进程_名取ID (“PlantsVsZombies.exe”)
handle = 进程_打开1 (pid)



.子程序 _按钮1_被单击
.局部变量 基址1
.局部变量 基址2

基址1 = 内存.读整数 (pid, 进制_十六到十 (“00199178”))
基址2 = 内存.读整数 (pid, 基址1 + 进制_十六到十 (“5578”))
内存.写整数 (pid, 基址1 + 进制_十六到十 (“5578”), 600)

.子程序 _按钮2_被单击
.局部变量 模块地址
.局部变量 地址1
.局部变量 地址2
.局部变量 地址3
.局部变量 地址4
.局部变量 地址5
.局部变量 地址6
.局部变量 值

模块地址 = 取模块句柄ex (pid, “PlantsVsZombies.exe”)
地址1 = 内存.读整数 (pid, 模块地址 + 673328)
地址2 = 内存.读整数 (pid, 地址1 + 220)
地址3 = 内存.读整数 (pid, 地址2 + 252)
地址4 = 内存.读整数 (pid, 地址3 + 4)
地址5 = 内存.读整数 (pid, 地址4 + 348)
地址6 = 地址5 + 192
值 = 内存.读整数 (pid, 地址6)
启动线程 (&锁定冷却, 地址6, threadhandlq)
' 这个启动线程 就是 调用子程序跟这样写 差不多 但是 启动线程 他会让这个子程序 从新启动一个县城来运行 如果直接调用 而不是启动线程的话 启动县城 主程序就不会卡死 支线程在死循环而已
' 最后一个偏移+50就是下一个
调试输出 (值)
' "PlantsVsZombies.exe"+000A4630+dc+fc+4+15c+c0


.子程序 锁定冷却
.参数 地址

.判断循环首 (真)  ' 死循环 这个知道吧知道如果我们在主进程上死循环 窗口不久卡死了 我们死循环 一直给冷却写1 这样才能保证冷却一直都是1 CE也差不多这个原理
    内存.写整数 (pid, 地址, 1)
    内存.写整数 (pid, 地址 - 80, 1)
    内存.写整数 (pid, 地址 + 80, 1)
    内存.写整数 (pid, 地址 + 160, 1)
    Sleep (20)  ' 这里睡20毫秒 太快的话吃CPU所以 让他暂停20毫秒 1秒=1000毫秒
.判断循环尾 ()

.子程序 _按钮3_被单击

线程_销毁 (threadhandlq)

R><BR>[/e]

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

本版积分规则 致发广告者

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

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

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