TC官方合作论坛

 找回密码
 立即注册
查看: 2047|回复: 18
打印 上一主题 下一主题

[已解决] 怎么用数组关闭多个线程句柄?

[复制链接]
跳转到指定楼层
楼主
发表于 2014-3-11 20:49:48 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上加入TC

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

x
本帖最后由 这论坛不错 于 2014-3-11 22:06 编辑

功能 多线程主调用功能函数(窗口信息)


    dm=窗口信息[0]
    hwnd=窗口信息[1]
    调试输出(hwnd)
    辅助.等待(2000)
    dm_ret1 = dm.IsBind(hwnd)
    如果(dm_ret1==1)
        调试输出("窗口已经绑定")
    否则
        调试输出("窗口没有绑定")
    如果结束
    dm_ret = dm.BindWindowEx(hwnd,"dx2","dx.mouse.position.lock.api","dx.keypad.input.lock.api","",101)
    调试输出(dm_ret)
    辅助.等待(1000)
    如果(dm_ret!=1)
        辅助.消息框("绑定窗口失败")
        返回 0
    如果结束
    线程句柄2=线程.开启("多线程多开模板.选择按键",dm)
    辅助.等待(2000)
功能结束


功能 选择按键(dm)
    变量 键值,鼠标句柄
变量 鼠标操作=数组[]
等待按键:

    键值=键盘.等待按键()
    调试输出(键值)
    选择(键值)
        
        条件 "97":
        dm.MoveTo(100,200)
          辅助.等待(200)
        鼠标句柄=线程.开启("多线程多开模板.鼠标左键连点",dm)
        辅助.等待(200)
        数组空间.增加(鼠标操作,鼠标句柄,0)
        辅助.等待(500)
        跳转 等待按键

         
        条件 "32":
        变量 status
        status=线程.获取线程状态(鼠标句柄)
        调试输出(status)
        如果(status!=0)
            遍历(i=0;i<窗口数量;i++)
                辅助.等待(1000)
                线程.关闭(鼠标操作)
                调试输出(鼠标操作)

                辅助.等待(1000)
            遍历结束
            
            辅助.等待(2000)
            数组空间.清空(鼠标操作)
            调试输出("鼠标已停止点击")
        如果结束
        辅助.等待(2000)
        跳转 等待按键
        
        默认:

        辅助.等待(1000)
        跳转 等待按键:
    选择结束
   
功能结束


用的某位大神的多线程多开模板学习后台多开操作,我就写了个多窗口多线程的鼠标连点而已,按键1鼠标移动到某个位置连点,按键2鼠标移动到某个位置连点,问题是开几个窗口都可以连点,现在就是一个号能停下来,其余的号停不下来,代码改来改去,都有问题,要么就数组调用越界,大家帮我看看吧,怎么让他把鼠标连点的线程句柄给全部停下来

红色字体的代码应该是问题所在,求大神指点。
还有就是这个模板好像不能解绑窗口。。。。。真的就不能解绑了吗?













回复

使用道具 举报

19#
 楼主| 发表于 2014-3-11 23:41:52 | 只看该作者
今非 发表于 2014-3-11 22:59
数组越界都是小问题  你只要记录下你开了几个句柄就不会越界  再跟你的窗口数量比较下就什么都明了了
提 ...

行,谢谢你,以后有问题的话请多多指教。。。
回复 支持 反对

使用道具 举报

18#
发表于 2014-3-11 22:59:39 | 只看该作者
这论坛不错 发表于 2014-3-11 22:49
现在就是关闭多个啊,问题是我用数组就有问题,现在开2个号测试,不用数组就正常,用数组我用遍历的方式 ...

数组越界都是小问题  你只要记录下你开了几个句柄就不会越界  再跟你的窗口数量比较下就什么都明了了
提示不匹配类型的话 你就把提示那个变量调试输出看下
回复 支持 反对

使用道具 举报

17#
 楼主| 发表于 2014-3-11 22:49:01 | 只看该作者
今非 发表于 2014-3-11 22:46
en  shi de  关闭一个可以不用  多个的话 建议还是用数组好些

现在就是关闭多个啊,问题是我用数组就有问题,现在开2个号测试,不用数组就正常,用数组我用遍历的方式经常提示调用越界,要不就是1个号关闭线程了,另一个号不会关闭。。。
回复 支持 反对

使用道具 举报

16#
发表于 2014-3-11 22:48:32 | 只看该作者
这论坛不错 发表于 2014-3-11 22:42
现在测试成功了,其实这个根本没必要使用数组,不用增加,也不用清空,可以直接关闭句柄 ...

你可以好好琢磨下
回复 支持 反对

使用道具 举报

15#
发表于 2014-3-11 22:46:39 | 只看该作者
这论坛不错 发表于 2014-3-11 22:42
现在测试成功了,其实这个根本没必要使用数组,不用增加,也不用清空,可以直接关闭句柄 ...

en  shi de  关闭一个可以不用  多个的话 建议还是用数组好些  
回复 支持 反对

使用道具 举报

14#
 楼主| 发表于 2014-3-11 22:42:18 | 只看该作者
今非 发表于 2014-3-11 22:26
鼠标句柄=线程.开启("多线程多开模板.鼠标左键连点",dm)
        辅助.等待(200)
        数组空间.增加(鼠 ...

现在测试成功了,其实这个根本没必要使用数组,不用增加,也不用清空,可以直接关闭句柄
回复 支持 反对

使用道具 举报

13#
 楼主| 发表于 2014-3-11 22:31:22 | 只看该作者
今非 发表于 2014-3-11 22:21
基础需要打牢哈

你这个有和我写的一样了。。。
回复 支持 反对

使用道具 举报

12#
 楼主| 发表于 2014-3-11 22:27:43 | 只看该作者
今非 发表于 2014-3-11 22:21
基础需要打牢哈

遍历(i=0;i<窗口数量;i++)
   status=线程.获取线程状态(鼠标操作)
   调试输出(status)
   如果(status!=0)
      辅助.等待(1000)
      线程.关闭(鼠标句柄)
      调试输出(鼠标句柄)
      辅助.等待(1000)
    如果结束
遍历结束





问题解决。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

11#
发表于 2014-3-11 22:26:44 | 只看该作者
鼠标句柄=线程.开启("多线程多开模板.鼠标左键连点",dm)
        辅助.等待(200)
        数组空间.增加(鼠标操作,鼠标句柄,0)


你自己开启的线程,鼠标操作数组的元素不就是线程句柄吗   没有问题的哈
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

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

GMT+8, 2025-12-25 03:31 , Processed in 0.097834 second(s), 25 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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