TC官方合作论坛

 找回密码
 立即注册
查看: 1515|回复: 8
打印 上一主题 下一主题

[问题] 游戏中用大漠绑定正常,退出辅助反而未响应后掉游戏

[复制链接]
跳转到指定楼层
楼主
发表于 2012-8-6 17:28:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我在试游戏风云传奇的时候用大漠的绑定启动什么后台都支持,但是我只要点退出辅助,游戏就掉线,不知道是不是游戏的检测还是代码写错了
用这个绑定
dm.BindWindow(窗口句柄,"dx2","dx2","windows",0)
dm.BindWindow(窗口句柄,"dx","dx2","windows",0)
dm.BindWindow(窗口句柄,"dx","dx","windows",0)
dm.BindWindow(窗口句柄,"dx2","dx","windows",0)
都掉、
dm.BindWindow(窗口句柄,"dx2","windows","windows",0)
用这个没问题,但是不支持鼠标后台,所以我只用了
dm.BindWindow(窗口句柄,"dx2","dx2","windows",0)
游戏里面可以用鼠标的绑定
启动游戏用辅助都没什么问题,一点也不卡,但是我一退出辅助,游戏就会掉线
退出辅助后面有释放大漠,不释放也掉

辅助.等待(500)
dm.UnBindWindow()
辅助.等待(500)
辅助.退出()
辅助.等待(500)

请问这个是什么问题
回复

使用道具 举报

沙发
 楼主| 发表于 2012-8-6 17:43:45 | 只看该作者
我是用线程开启来绑定的,退出辅助不知道释放大漠,可以不可以释放线程里面的大漠
功能 逻辑型 打怪()
//这里添加你要执行的代码
dm.SetPath(辅助.获取资源路径("rc:"))
辅助.等待(100)
dm.SetDict(0,"dm_soft.txt")
整型 窗口句柄=窗口.鼠标所在窗口句柄()
辅助.等待(100)
整型 窗口绑定是否成功 = dm.BindWindow(窗口句柄,"dx2","dx2","windows",0)

辅助.等待(500)
如果(窗口绑定是否成功==0)
辅助.消息框("窗口绑定失败")
如果结束
辅助.等待(500)
循环(真)
dm.KeyPress(9)
辅助.等待(500)
整型 是否成功=dm.CmpColor(512,39,"841818-000000",0.9)
如果(是否成功==0)
dm.KeyPress(49)
辅助.等待(800)
如果结束
大漠插件功能2.补蓝()
大漠插件功能2.补血()

循环结束

返回 真
功能结束

//退出用热键按下退出
功能 逻辑型 热键1_热键()
辅助.等待(500)
dm.UnBindWindow()
辅助.等待(500)
辅助.退出()
辅助.等待(500)
返回 真
功能结束
回复 支持 反对

使用道具 举报

板凳
发表于 2012-8-6 17:48:13 | 只看该作者
试试先关闭线程句柄 再解绑
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2012-8-6 18:04:42 | 只看该作者
整型 线程句柄=线程.开启("大漠插件功能2.打怪","")  
辅助.等待(2000)
线程.关闭(线程句柄)
dm.UnBindWindow()
辅助.退出()



一样,只要退出都是掉游戏,我试了其他游戏也一样不知道怎么回事,其他游戏用大漠绑定也掉但是用按键//精灵/用大漠然后关闭没事,但是风云会检测按键,我现在应该怎么写代码释放才可以解决问题?????????
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2012-8-6 19:04:59 | 只看该作者
功能 逻辑型 打怪()
//这里添加你要执行的代码
dm.SetPath(辅助.获取资源路径("rc:"))
辅助.等待(100)
dm.SetDict(0,"dm_soft.txt")
整型 窗口句柄=窗口.鼠标所在窗口句柄()
辅助.等待(100)
整型 窗口绑定是否成功 = dm.BindWindow(窗口句柄,"dx2","dx2","windows",0)
辅助.等待(500)
如果(窗口绑定是否成功==0)
辅助.消息框("窗口绑定失败")
如果结束
辅助.等待(500)
循环(真)
dm.KeyPress(9)
辅助.等待(500)
整型 是否成功=dm.CmpColor(512,39,"841818-000000",0.9)
如果(是否成功==0)
dm.KeyPress(49)
辅助.等待(800)
如果结束
大漠插件功能2.补蓝()
大漠插件功能2.补血()

辅助.等待(3000)
dm.ForceUnBindWindow(0)
辅助.等待(500)
dm.UnBindWindow()
辅助.等待(500)


循环结束

返回 真
功能结束


肯定是释放的问题,如果我直接释放在线程里面就没事,那这样就根本就没用处了



大漠释放 放在退出辅助中或在线程关闭下面都会掉线,那就说明我关闭辅助后,根本不会释放线程里绑定的游戏资源,导致掉线,,不知道我那里写错了。。还是软件不支持释放线程里的绑定资源
回复 支持 反对

使用道具 举报

6#
发表于 2012-8-6 21:02:04 | 只看该作者
大漠要求每个线程都绑定,同时,解绑必须再同一个线程..

建议使用 扩展开启 来启动线程,同时给线程指定一个销毁线程时调用的函数,在里面写上解绑的代码.
这样,退出时,只要先关闭线程,就OK了,线程关闭时会调用 之前指定的销毁函数解绑大漠
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2012-8-6 21:54:37 | 只看该作者
整型 线程句柄=线程.扩展开启("大漠插件功能2.打怪","","大漠插件功能2.大漠解绑","")
功能  整型 大漠解绑()
dm.UnBindWindow()
返回 0
功能结束
//下面是用热键退出的按键
功能 逻辑型 热键1_热键()

线程.关闭(线程句柄)             //这里错误,应该怎么把关闭线程放在退出那里?
辅助.等待(500)
dm.UnBindWindow()
辅助.等待(2000)
辅助.退出()
辅助.等待(500)
返回 真
功能结束
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2012-8-6 22:49:56 | 只看该作者
空间 大漠插件功能2
//定义默认空间
int 线程句柄

问题处理了

要在上面那里先写上 int 来命名下

我一直郁闷的就是按键精灵用多线程都需要先定义一下,多线程里的句丙才可以和主程序里的获得的句丙通用,原来在空间下定义。。。。
回复 支持 反对

使用道具 举报

9#
发表于 2012-8-7 00:44:23 | 只看该作者
那是全局变量和函数局部变量的区别.... 只有全局变量,你才能在不同函数直接使用
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-18 23:57 , Processed in 0.125676 second(s), 24 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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