TC官方合作论坛

 找回密码
 立即注册
查看: 11814|回复: 10

[问题] 【大漠解绑语句问题】dm.UnBindWindow() 应该怎么放??还请大神指导~~在线等哦~~~

[复制链接]
发表于 2012-2-27 22:35:45 | 显示全部楼层 |阅读模式

马上加入TC

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

x
程序结构如下,不过在调试程序时,一有问题,点击TC界面的退出后,连游戏都退出了。
我试图在 “功能 逻辑型 开始() ”的循环结束后面加上 dm.UnBindWindow() ,游戏还是退出。后来我把所有函数中有循环语句的,在“循环结束”后都加上  dm.UnBindWindow()  ,游戏还真不退出了,不过程序在执行过程中绑不上游戏,结果鼠标乱跑...........
每次调试程序都重开游戏,异常痛苦...............

还请大神们指导指导,解绑语句应该放在那里??还是程序结构有问题??谢谢啦~~~~~~~~~~~~~~~~~

----------------------------------------------------------------------------------------------
#import "dm.dmsoft" dm

空间 我的空间

整型 线程句柄


功能 逻辑型 注册插件()
    逻辑型 是否成功=辅助.是否注册("dm.dmsoft")
        如果(是否成功)
            //辅助.消息框("插件已注册")
                        标签.设置文本("标签0","注册插件成功")
                否则
            辅助.注册插件("rc:dm.dll",真)  //rc:  使用资源中的文件
        如果结束
返回 真
功能结束

功能 逻辑型 获取句柄()
整型 键值
    键值=键盘.等待按键()
        如果(键值==36)  //home
        句柄=dm.GetMousePointWindow()
                辅助.等待(500)
       整型 绑定标志=dm.BindWindow(句柄,"gdi","windows","dx",0)
        如果(绑定标志==0)
            辅助.消息框("绑定失败,退出!")
            辅助.退出()
                否则
                    辅助.等待(500)
        如果结束
        如果结束
返回 真
//函数返回语句
功能结束



功能 逻辑型  .判断修装备()
//以下循环就是判断一些是否打开某些界面,打开了就怎么样,没打开就继续打开
循环(真)
如果.....
我的空间.XXXXXXXX()
否则
我的空间.XXXXXX()  
如果结束
循环结束
返回 真
功能结束

功能 逻辑型 开始()
我的空间.注册插件()
我的空间.获取句柄()
//以下循环就是监测是否需要修理装备
循环(真)
//以下调用很多函数,并且这些函数为了减少游戏中偶然因素影响,大部分都做了循环判断,也就是下一步不行,就重做上一步。
我的空间.判断修装备()
我的空间.XXXXXXX()
我的空间.XXXXXXX()
循环结束
返回 真
功能结束


功能 整型 销毁操作()
dm.UnBindWindow()
辅助.退出()
返回 0
功能结束

功能 逻辑型 开始_点击()
线程句柄=线程.扩展开启("我的空间.开始"," 我的空间 .销毁操作")
返回 真
功能结束

功能 逻辑型 退出_点击()
线程.关闭(线程句柄)
dm.UnBindWindow()
辅助.退出()
返回 真

功能结束

空间结束

------------------------------------------------------------------------------------------------------
回复

使用道具 举报

发表于 2012-2-27 22:42:24 | 显示全部楼层
反正我是放在窗口销毁函数中自动调用。。也没发现过问题。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-27 22:48:22 | 显示全部楼层
反正我是放在窗口销毁函数中自动调用。。也没发现过问题。。。
cylhb 发表于 2012-2-27 22:42:24

请问楼上,你的窗口销毁函数是这样调用的吗?

逻辑型 退出_点击()
我的空间.窗口销毁()
辅助.退出()
返回 真
//函数返回语句
功能结束

功能 逻辑型 窗口销毁()
dm.UnBindWindow()
返回 真
功能结束
回复 支持 反对

使用道具 举报

发表于 2012-2-27 23:05:46 | 显示全部楼层
窗口销毁函数不需要自己调用,
你在TC界面中随便点一个地方,然后看右边属性栏,有一个窗口初始化和销毁的事件,添加进去
当你程序关闭时会自动调用这个函数。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-27 23:18:00 | 显示全部楼层
窗口销毁函数不需要自己调用,
你在TC界面中随便点一个地方,然后看右边属性栏,有一个窗口初始化和销毁的事件,添加进去
当你程序关闭时会自动调用这个函数。
cylhb 发表于 2012-2-27 23:05:46
谢谢cyhbde ~~~

按照cyhbde 方法,添加后,在代码区自动增加一个功能函数如下:
-------------------------------------------
功能 逻辑型 销毁()
//这里添加你要执行的代码

返回 真
功能结束
--------------------------------------------

可是点击“退出”,游戏依然同时自动退出.....................在任务管理器中可以看到游戏线程,但是没有游戏窗口了,不知道跑到哪里了.......................


回复 支持 反对

使用道具 举报

发表于 2012-2-27 23:38:51 | 显示全部楼层
厄。。你这个函数有了。。但是关闭线程,解绑没写到这个函数里面吧。。。

我的意思是,窗口销毁时会自动调用这个函数,但是函数里面什么操作还是要自己写。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-27 23:58:28 | 显示全部楼层
加入了这个,还是不行........:L

功能 逻辑型 销毁()
//这里添加你要执行的代码
线程.关闭(线程句柄)
dm.UnBindWindow()
返回 真
功能结束
回复 支持 反对

使用道具 举报

发表于 2012-2-28 10:09:26 | 显示全部楼层
绑定和操作语句  要写一个方法里面。。
就是说要把 判断修装备()   写到获得句柄的那里面去
回复 支持 反对

使用道具 举报

发表于 2012-3-10 18:54:44 | 显示全部楼层
围观........
回复 支持 反对

使用道具 举报

发表于 2012-3-11 12:59:11 | 显示全部楼层
在线程的返回前放一个,或者在线程关闭前放一个,然后等待1000你试试.
窗口不完成解绑直接退出脚本的话,游戏窗口直接死掉,
表示比LZ还杯具,刚学TC时玩的天龙八部新区,挤不上队,排队要几个小时,
哎,砸了搜狐的心都有啊.

建议热键线程关闭,
按键辅助退出.
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-5-19 06:12 , Processed in 0.062110 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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