TC官方合作论坛
标题:
这天使这个BUG么?
[打印本页]
作者:
B哥
时间:
2013-2-20 23:21
标题:
这天使这个BUG么?
今天突然热血一涌... 准备用天使插件。 发现最严重一个问题:向游戏窗口发送按键命令。可以发送字符,但不能触发游戏快捷键。如:ts.KeyPressChar("t") T键在游戏中打开。游戏的任务窗口。
我先用天使测试工具测试。成功。但我用代码失败。就开始慢慢的找原因呀...找呀找...
原因1: TC版本过低,在线程中使用天使插件。不能触发游戏快捷键。
我用得是TC 3.046 ,天使的操作没在子线程中。执行正常。一放到线程中,就不能触发游戏快捷键。
已解决:哪有什么办法罗。升级TC版本罗。升级到TC 4.039 这版。数组和类型好不适应。一阵头痛!
原因2:导致游戏快捷键不起作用,暂不知道为什么。上代码。。。
//调用代码 主文件 白虎.t
#include "MoreOpen.t"
namespace 白虎
function start_click()
ts = com("ts.tssoft")
ts.BindWindow(2097484,"gdi","windows","windows",101)
help.sleep(1000)
ts.KeyPressChar("t")
return true
endfunction
复制代码
namespace MoreOpen
windows = array[]
ts=com("ts.tssoft")
function openByClassName(className)
//不管程序有没有调用openByClassName函数.这里只要有ts.调用函数.游戏中快键捷就不起作用.
ts.EnumWindow(0,"",className,2+8+16)
return windows
endfunction
复制代码
第二个原因现在还没解决。
作者:
cylhb
时间:
2013-2-20 23:27
执行正常。一放到线程中
看到这2句,大概,可能是因为你的ts对象是局部对象的缘故..试试放全局
作者:
B哥
时间:
2013-2-20 23:33
回复
2楼
cylhb
的帖子
才测试过了。。放在全局也一样的。。我而且还在两个东西。冲突。。换了名字也没用
作者:
cylhb
时间:
2013-2-20 23:40
子函数局部再出现ts=com("ts.tssoft")相当于覆盖掉了,放全局也无用
作者:
Sky_Pro
时间:
2013-2-21 09:32
学习中。。。
作者:
B哥
时间:
2013-2-21 12:57
回复
5楼
Sky_Pro
的帖子
我要举报你。。全自动回复!机器人
作者:
B哥
时间:
2013-2-21 12:59
回复
4楼
cylhb
的帖子
。。。不管了。。我全整成局部了。这样就无所谓。。覆盖了!
作者:
Sky_Pro
时间:
2013-2-21 13:27
B哥不要啊,我不抓你了,你也别举报了,好吗?
作者:
B哥
时间:
2013-2-21 20:42
回复
8楼
Sky_Pro
的帖子
这样呀!可以考虑!
作者:
lcy944046
时间:
2013-4-5 10:37
hhhhhhhhhhhhhhhhhh
作者:
slz336
时间:
2014-8-26 11:22
这个帖子得顶
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1