TC官方合作论坛

标题: 代码哪里出了问题? [打印本页]

作者: 一直游    时间: 2013-1-6 12:31
标题: 代码哪里出了问题?
请大家帮我看看程序哪里不合适,想做后台多窗口,现在脚本第一次运行脚本,退出正常.第2次 在绑定的时候游戏窗口直接关闭,是程序结构不合理还是其他什么原因,我用鹿鼎记,大唐无双都是这样.
  1. 空间 DHCQ
  2. dm=com("dm.dmsoft")
  3. ts=com("ts.tssoft")
  4. 变量 aa
  5. 功能 开始_点击()
  6. 线程.开启("DHCQ.遍历窗口","")
  7. 功能结束
  8. 功能 遍历窗口()
  9. 句柄数组=array[10]
  10. 返回串=dm.EnumWindow(0,"大唐无双","",1+4+8+16)
  11. //返回串=系统.枚举("MainWnd class of ArkEngine",1)
  12. 字符串.分割(返回串,",",句柄数组)
  13. c1,i=0
  14. 数组空间.大小(句柄数组,c1)
  15. 循环(i < c1)
  16. aa=句柄数组[i]
  17. 线程句柄= 线程.开启("DHCQ.窗口绑定","")
  18. i=i + 1
  19. 辅助.等待(1000)
  20. 循环结束
  21. 功能结束

  22. 功能 窗口绑定()
  23. dm=com("dm.dmsoft")
  24. 窗口句柄=aa
  25. 绑定返回值=dm.BindWindow(窗口句柄,"gdi","dx","dx",0)
  26. 辅助.等待(1000)
  27. if(绑定返回值==0)
  28. help.messagebox("绑定失败")
  29. endif
  30. 功能结束

  31. 功能 退出_点击()
  32. dm.UnBindWindow()
  33. 辅助.退出()
  34. 功能结束
  35. 功能 热键1_热键()
  36. DHCQ.退出_点击()
  37. 功能结束
  38. 功能 热键0_热键()
  39. DHCQ.开始_点击()
  40. 功能结束
  41. 空间结束



























































复制代码


作者: chenxiaoman    时间: 2013-1-6 12:38
帮你顶 做等大神...你这个绑定看起来很眼熟貌似你是按键过来的哈哈
作者: stxuhong    时间: 2013-1-6 13:24
回复 2楼chenxiaoman的帖子

何以看出
作者: kkkkkkk    时间: 2013-1-6 13:29
我也开始学习有关插件对象的多开,发现比一般的多开复杂了不少,官方这方面的源码现在可以说没有.陌上青衣大大虽然也发了个例子,但例子里没有演示如何在别的函数里调用插件对象,感觉按那种结构要把下标i传参才能区别出不同的插件对象.这样子就比以前3.0时的多开麻烦了好多~~
而你的这份源码我感觉只适合单开,你.第2次时游戏窗口直接关闭,我现在能想到的一个原因就是可能你没有解绑好,你先排除这个原因吧.试试在窗口绑定那里解绑看看.
功能 窗口绑定()
窗口句柄=aa
绑定返回值=dm.BindWindow(窗口句柄,"gdi","dx","dx",0)
辅助.等待(1000)
if(绑定返回值==0)
help.messagebox("绑定失败")
endif
dm.UnBindWindow()//试试在这里解绑,把这个原因先排除了
功能结束

作者: sport431    时间: 2013-1-6 13:31
你光开线程,咋不关闭线程。
退出之前,先解绑,然后关闭线程,然后退出辅助。
开了几个线程就必须关闭几个线程。
作者: 一直游    时间: 2013-1-6 15:55
仔细想想 kk 说的的对 这个只是多窗口绑定,如果实现多线程操作 还是不对
作者: cylhb    时间: 2013-1-6 18:26
dm=com("dm.dmsoft")//窗口绑定中这句去掉试试看?




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1