TC官方合作论坛

标题: 这天使这个BUG么? [打印本页]

作者: B哥    时间: 2013-2-20 23:21
标题: 这天使这个BUG么?
  今天突然热血一涌... 准备用天使插件。           发现最严重一个问题:向游戏窗口发送按键命令。可以发送字符,但不能触发游戏快捷键。如:ts.KeyPressChar("t")   T键在游戏中打开。游戏的任务窗口。
                   我先用天使测试工具测试。成功。但我用代码失败。就开始慢慢的找原因呀...找呀找...
          原因1:  TC版本过低,在线程中使用天使插件。不能触发游戏快捷键。
                         我用得是TC 3.046 ,天使的操作没在子线程中。执行正常。一放到线程中,就不能触发游戏快捷键。
                         已解决:哪有什么办法罗。升级TC版本罗。升级到TC 4.039    这版。数组和类型好不适应。一阵头痛!


          原因2:导致游戏快捷键不起作用,暂不知道为什么。上代码。。。


  1. //调用代码 主文件 白虎.t
  2. #include "MoreOpen.t"
  3. namespace 白虎

  4. function start_click()
  5.     ts = com("ts.tssoft")
  6.     ts.BindWindow(2097484,"gdi","windows","windows",101)
  7.     help.sleep(1000)
  8. ts.KeyPressChar("t")
  9. return true
  10. endfunction
复制代码
  1. namespace MoreOpen
  2. windows = array[]
  3. ts=com("ts.tssoft")

  4. function openByClassName(className)
  5.     //不管程序有没有调用openByClassName函数.这里只要有ts.调用函数.游戏中快键捷就不起作用.
  6.     ts.EnumWindow(0,"",className,2+8+16)
  7.     return windows
  8. 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