看流星社区

 找回密码
 注册账号
查看: 2589|回复: 2

运行 调用函数 时出现延时的问题,请高人帮忙

[复制链接]

该用户从未签到

发表于 2011-3-21 07:41:58 | 显示全部楼层 |阅读模式
我自己用易语言写了个完美国际 的辅助,也就自己用用,全部都是跟广海里高手学的,先感谢了

其中很多用的CALL调用,CALL调用又用到一个调用函数的 子程序 代码如下

.版本 2

.子程序 调用函数
.参数 目标对象句柄, 字节集
.参数 调用函数, 字节集
.局部变量 临时句柄, 整数型
.局部变量 线程ID, 整数型
.局部变量 线程首地址, 整数型
.局部变量 调用进程句柄, 整数型
.局部变量 字符串长度, 整数型

调用进程句柄 = 打开进程 (2035711, 假, 取字节集数据 (目标对象句柄, 3, ))
字符串长度 = 取字节集长度 (调用函数) + 1
线程首地址 = 分配内存虚拟页 (调用进程句柄, 0, 字符串长度, 4096, 4)
写入内存 (调用进程句柄, 线程首地址, 调用函数, 字符串长度, 0)
临时句柄 = 远程创建线程 (调用进程句柄, 0, 0, 线程首地址, 0, 4, 线程ID)
运行线程 (临时句柄)
关闭进程 (临时句柄)

最近这段时间,运行辅助后感觉很卡,逐句跟踪,才发觉问题出来下边这一行

临时句柄 = 远程创建线程 (调用进程句柄, 0, 0, 线程首地址, 0, 4, 线程ID)

程序每当执行到这个行后,就延时1-2秒才执行下边的一行,感觉执行这一行需要1-2秒钟,也就造成程序停止响应1-2秒钟。不知道是什么原因,是完美游戏程序改了吗,还是上边设计有误,请高人指点下,

谢谢了,真的很着急


远程创建线程   的DLL说明如下
.版本 2

.DLL命令 远程创建线程, 整数型, , "CreateRemoteThread"
    .参数 目标对象句柄, 整数型, , hProcess
    .参数 线程安全描述字, 整数型, , lpThreadAttributes
    .参数 线程栈大小, 整数型, , dwStackSize
    .参数 指向在远程进程中执行的函数地址, 整数型, , lpStartAddress
    .参数 传入参数, 整数型, , lpParameter
    .参数 创建线程的其它标志, 整数型, , dwCreationFlags
    .参数 线程身份标志, 整数型, , lpThreadId

该用户从未签到

发表于 2011-3-21 07:42:14 | 显示全部楼层
临时句柄 = 远程创建线程 (调用进程句柄, 0, 0, 线程首地址, 0, 4, 线程ID)
改 临时句柄 = 远程创建线程 (调用进程句柄, 0, 0, 线程首地址, 0, 0, 线程ID)   去掉 运行线程()
看下  0是立即运行

该用户从未签到

 楼主| 发表于 2011-3-21 07:42:42 | 显示全部楼层
谢谢楼上的,问题解决了,我是真的佩服你{:3_42:}
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-5-15 14:30

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

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