TC官方合作论坛

标题: 当按两次启动的热键的时候,就会有两个线程在运行,还... [打印本页]

作者: hkj19851212    时间: 2014-12-10 20:00
标题: 当按两次启动的热键的时候,就会有两个线程在运行,还...
当按两次启动的热键的时候,就会有两个线程在运行,按三次启动热线就会有三个,但是按关闭热键的时候就关闭不了了,会一直运行下去,怎么办,你们是怎么解决的?

源码如下:

空间 意义
//默认空间
是否暂停
线程句柄
功能 测试()
    循环(真)   
        辅助.蜂鸣(3000,50)  
        辅助.等待(500)
    循环结束  
功能结束

功能 启动_热键()
    线程句柄=线程.开启("意义.测试","")
    返回 真
功能结束

功能 退出_热键()
    辅助.退出()
功能结束

功能 暂停_热键()
    如果(!是否暂停)
        线程.暂停(线程句柄)
        是否暂停=真
    否则
        线程.恢复(线程句柄)
        是否暂停=假
    如果结束
    返回 真
功能结束

功能 停止_热键()
    线程.关闭(线程句柄,0)
    返回 真
功能结束

空间结束


作者: llf    时间: 2014-12-10 21:03
1大漠中有一条命令是判断是否被大漠绑定过
2把窗口句柄保存在变量中启动的时候判断是否相等
3多开的话需要把句柄保存在数组中,再次启动的时候判断数组中是否有当前句柄
4建议去看看多开的教程视频  比如易建深度的
作者: dear    时间: 2014-12-11 00:45
F1帮助里面找事件对象
作者: lidongxu    时间: 2014-12-11 01:05
  1. 事件对象=线程.打开事件("防止多开对象")
  2.     if(事件对象)
  3.         辅助.消息框("脚本已经开启")
  4.         辅助.退出()
  5.     else
  6.         线程.创建事件(假,真,"防止多开对象")
  7.     endif
复制代码

作者: lidongxu    时间: 2014-12-11 01:08
功能 启动_热键()
    if(线程句柄!="")
        线程句柄=线程.开启("意义.测试","")
        返回 真
    endif
功能结束
作者: q273814    时间: 2014-12-11 08:46
我不好说什么了
作者: hkj19851212    时间: 2014-12-11 11:09
lidongxu 发表于 2014-12-11 01:08
功能 启动_热键()
    if(线程句柄!="")
        线程句柄=线程.开启("意义.测试","")

这个试过,没作用
作者: lidongxu    时间: 2014-12-11 14:37
hkj19851212 发表于 2014-12-11 11:09
这个试过,没作用

不知道了。我现在就用的这个。没出什么问题。线程句柄  申明全局变量
作者: aimei_8866999    时间: 2014-12-18 19:45
功能 启动_热键()
    全局动态数组[全局次数]=线程.开启("意义.测试","")
    全局次数=全局次数+1
功能结束

功能 关闭线程()
    如果(全局次数==0)
        返回 ("")
    如果结束
    遍历(i=0;i<全局次数,i++)
        线程.关闭(全局动态数组[i])
    遍历结束
    全局次数=0
    全局动态数组=数组[]
功能结束




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