TC官方合作论坛

标题: 多线程! [打印本页]

作者: 浙丶v5    时间: 2015-1-5 18:38
标题: 多线程!
空间   刷图
线程句柄1 = 0
线程句柄2 = 0
功能 技能()
循环(真)
        孙尚香技能 = dm.FindPic(0,0,1024,768,"孙尚香技能.bmp|孙尚香技能1.bmp|孙尚香技能2.bmp","000000",0.8,0,intX,intY)
        如果(孙尚香技能>=0)
          dm.KeyPress(113)
          辅助.等待(280)
          dm.MoveTo(880,355)
          dm.LeftClick()
          跳出
        如果结束

循环结束
功能结束

功能 鼠标按键()
“这里是鼠标和键盘按键的一系列操作”
功能结束
功能 热键_启动_热键()
线程句柄1 = 线程.开始("刷图.技能","")
线程句柄2 = 线程.开始("刷图. 鼠标按键","")
功能结束

空间结束






两个线程启动后会抢鼠标和按键,要怎么解决两个线程启动后抢鼠标和按键的问题??

作者: cylhb    时间: 2015-1-5 18:40
在线程函数里面定义DM对象试试
作者: 浙丶v5    时间: 2015-1-5 18:47
cylhb 发表于 2015-1-5 18:40
在线程函数里面定义DM对象试试

怎么定义啊  我是新手  不是很懂
作者: cylhb    时间: 2015-1-5 19:10
var dm=com("dm.dmsoft")
这句你里面有没有,放到线程里面
作者: 言术    时间: 2015-1-5 19:41
在操作鼠标键盘的地方用临界区吧!
作者: 浙丶v5    时间: 2015-1-5 19:52
言术 发表于 2015-1-5 19:41
在操作鼠标键盘的地方用临界区吧!

临界区需要创建在初始化里吗?
作者: 言术    时间: 2015-1-5 19:59
这样试试吧
  1. 空间   刷图
  2. 线程句柄1 = 0
  3. 线程句柄2 = 0
  4. 对象句柄
  5. 功能 技能()
  6.     循环(真)
  7.         孙尚香技能 = dm.FindPic(0,0,1024,768,"孙尚香技能.bmp|孙尚香技能1.bmp|孙尚香技能2.bmp","000000",0.8,0,intX,intY)
  8.         如果(孙尚香技能>=0)
  9.             线程.进入临界区(对象句柄)
  10.             dm.KeyPress(113)
  11.             辅助.等待(280)
  12.             dm.MoveTo(880,355)
  13.             dm.LeftClick()
  14.             线程.离开临界区(对象句柄)
  15.             跳出
  16.         如果结束
  17.         
  18.     循环结束
  19. 功能结束

  20. 功能 鼠标按键()
  21.     线程.进入临界区(对象句柄)
  22.     “这里是鼠标和键盘按键的一系列操作”
  23.     线程.离开临界区(对象句柄)
  24. 功能结束
  25. 功能 热键_启动_热键()
  26.     对象句柄=线程.创建临界区()
  27.     线程句柄1 = 线程.开始("刷图.技能","")
  28.     线程句柄2 = 线程.开始("刷图. 鼠标按键","")
  29. 功能结束

  30. 功能 退出_点击()
  31. 线程.删除临界区(对象句柄)
  32. 辅助.退出()
  33. 功能结束

  34. 空间结束
复制代码

作者: 浙丶v5    时间: 2015-1-5 20:20
言术 发表于 2015-1-5 19:59
这样试试吧

功能 技能()
    循环(真)
        孙尚香技能 = dm.FindPic(0,0,1024,768,"孙尚香技能.bmp|孙尚香技能1.bmp|孙尚香技能2.bmp","000000",0.8,0,intX,intY)
        如果(孙尚香技能>=0)
            线程.进入临界区(对象句柄)
            dm.KeyPress(113)
            辅助.等待(280)
            dm.MoveTo(880,355)
            dm.LeftClick()
            线程.离开临界区(对象句柄)
        如果结束
        
    循环结束
功能结束


这个我需要他一直循环查找   找到了才执行
其他时间一直是在执行  “功能鼠标按键
你的这个代码能行吗?
作者: 浙丶v5    时间: 2015-1-5 20:44

空间   刷图
线程句柄1 = 0
线程句柄2 = 0
功能 技能()
循环(真)
        孙尚香技能 = dm.FindPic(0,0,1024,768,"孙尚香技能.bmp|孙尚香技能1.bmp|孙尚香技能2.bmp","000000",0.8,0,intX,intY)
        如果(孙尚香技能>=0)
          线程.等待(线程句柄2,-1)
          dm.KeyPress(113)
          辅助.等待(280)
          dm.MoveTo(880,355)
          dm.LeftClick()
          线程.恢复(线程句柄2)
        如果结束
循环结束
功能结束

功能 鼠标按键()
“这里是鼠标和键盘按键的一系列操作”
功能结束
功能 热键_启动_热键()
线程句柄1 = 线程.开始("刷图.技能","")
线程句柄2 = 线程.开始("刷图. 鼠标按键","")
功能结束

空间结束


这样可以吗?
作者: 浙丶v5    时间: 2015-1-5 23:41
cylhb 发表于 2015-1-5 19:10
var dm=com("dm.dmsoft")
这句你里面有没有,放到线程里面

这句话是什么意思?能解释一下吗?
作者: maotcmao    时间: 2015-1-6 00:53
浙丶v5 发表于 2015-1-5 23:41
这句话是什么意思?能解释一下吗?

这句话 就是定义大漠对象啊,开始注册时不是已经有过吗 在这里再定义一遍
作者: maotcmao    时间: 2015-1-6 00:54
是让你再放到 刷图.技能这功能头部
作者: 2645572175    时间: 2015-6-24 15:55





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