TC官方合作论坛

 找回密码
 立即注册
查看: 1114|回复: 9

[已解决] 开了3个相同的线程,要怎么样才能全部关闭呢?

[复制链接]
发表于 2014-3-8 22:36:46 | 显示全部楼层 |阅读模式

马上加入TC

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

x
后台绑定了3个游戏窗口,3个游戏窗口都开启了同一个线程,我把这个线程的句柄定义为全局变量,为什么在其他功能函数调用关闭线程的时候,只能关闭一个?其他两个关不了;就算遍历3次关闭线程的命令,也是只能关一个,怎么回事呢?求解



功能 选择按键(dm)
标记:
    键值=键盘.等待按键()
    调试输出(键值)
    选择(键值)

        条件 "97":
        dm.MoveTo(555,666)
        辅助.等待(50)
        鼠标句柄=线程.开启("测试.鼠标连点",dm)
        辅助.等待(1000)
        线程句柄4=线程.开启("测试.停止点击","")
     ……………………………………
功能结束

功能 停止点击()
    线程.关闭(线程句柄2)
标记:   
键值=键盘.等待按键()
    调试输出(键值)
    如果(键值==32)
        线程.关闭(鼠标句柄)
    否则
        辅助.等待(500)
        跳转 标记
        辅助.消息框("请按空格停止点击")
    如果结束
    辅助.等待(1000)
    //线程句柄3=线程.开启("测试.选择按键",dm)
功能结束


第一个功能函数的线程句柄为线程句柄2,可以3个号同时都在屏幕上点击鼠标,但是为什么关闭的时候只能关闭一个?不管怎么按空格键,其余的2个窗口的鼠标都不会停止点击!


回复

使用道具 举报

发表于 2014-3-9 13:07:41 | 显示全部楼层
这论坛不错 发表于 2014-3-9 13:03
用遍历的方式绑定了多个窗口,然后开启了1个线程后,3个窗口都同时开启了这个线程,怎么用数组的方法保存 ...

首先定义:
线程句柄数组=数组[]
开启线程时:
数组空间.增加(线程句柄数组,线程句柄,1)
关闭线程时:
遍历 线程句柄数组[] 逐个关闭线程。
回复 支持 反对

使用道具 举报

发表于 2014-3-8 23:05:32 | 显示全部楼层
调用功能函数时把线程句柄和窗口句柄统一一点,这样不是方便控制吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-8 23:22:23 | 显示全部楼层
kam 发表于 2014-3-8 23:05
调用功能函数时把线程句柄和窗口句柄统一一点,这样不是方便控制吗?

1:放在窗口句柄的功能函数里面以前试过了,也不行,也是只能关一个线程
2:上面的线程句柄放在窗口句柄应该比较不好,因为它必须得等待开启了鼠标点击的线程后再开启才能达到效果
回复 支持 反对

使用道具 举报

发表于 2014-3-9 01:02:12 | 显示全部楼层
  1. 线程号码,线程1="没开启",线程2="没开启",线程3="没开启“
  2. 功能 测试()
  3.     循环(真)
  4. 辅助.消息框("我是:"&线程.获得当前句柄())
  5.     循环结束
  6. 功能结束
  7. 功能 按钮0_点击()
  8. 线程开始=线程.开启("测试用.测试","")
  9. 线程号码=线程号码+1
  10. 如果(线程号码==1)
  11.     线程1=线程开始
  12. 如果结束
  13. 如果(线程号码==2)
  14.     线程2=线程开始
  15. 如果结束
  16. 如果(线程号码==3)
  17.     线程3=线程开始
  18.     //不能再按了...
  19.        控件.有效("按钮0",假)
  20. 如果结束
  21. 功能结束
  22. 功能 按钮1_点击()
  23.    控件.有效("按钮0",真)
  24. 线程.关闭(线程1)
  25. 辅助.等待(1000)
  26. 线程.关闭(线程2)
  27. 辅助.等待(1000)
  28. 线程.关闭(线程3)
  29. 辅助.等待(1000)
  30. //恢复
  31. 线程号码=0,
  32. 线程1="没开启",
  33. 线程2="没开启",
  34. 线程3="没开启"
  35. 功能结束
复制代码
2个按钮。。这是很麻烦的。。理解下就好。
回复 支持 反对

使用道具 举报

发表于 2014-3-9 07:58:09 | 显示全部楼层
请采纳如果我的回答帮助到了你 !

线程句柄用线程句柄数组,记录数组大小了,开了多少个然后记得关闭多少个就行了,还有你用的是同一变量来接收线程句柄,之前的线程句柄会被新的覆盖掉,建议用多个变量或着用数组

温馨提示6 : 术语问题可以去问百度 , 或者你可以叫她度娘
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-9 13:00:07 | 显示全部楼层
续花丶 发表于 2014-3-9 01:02
2个按钮。。这是很麻烦的。。理解下就好。

想让脚本关闭线程句柄,而不是用按钮。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-9 13:03:33 | 显示全部楼层
今非 发表于 2014-3-9 07:58
请采纳←如果我的回答帮助到了你 !

线程句柄用线程句柄数组,记录数组大小了,开了多少个然后记得关闭多 ...

用遍历的方式绑定了多个窗口,然后开启了1个线程后,3个窗口都同时开启了这个线程,怎么用数组的方法保存这个线程的线程句柄?
回复 支持 反对

使用道具 举报

发表于 2014-3-9 15:01:37 | 显示全部楼层
这论坛不错 发表于 2014-3-9 13:00
想让脚本关闭线程句柄,而不是用按钮。。。

=  =。。想关闭 你就调用下不就好了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-10 22:41:07 | 显示全部楼层
haking 发表于 2014-3-9 13:07
首先定义:
线程句柄数组=数组[]
开启线程时:

开1个号的时候,开启和关闭都正常,开2个号以上,会出现调用越界,请问怎么回事?
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-9-24 13:51 , Processed in 0.040646 second(s), 23 queries .

Powered by 海安简单软件服务部

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

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