TC官方合作论坛

标题: 无限开单停的问题 [打印本页]

作者: cxch1314    时间: 2016-10-16 13:42
标题: 无限开单停的问题
功能 启动_热键()
    变量 返回句柄,线程句柄
    返回句柄=窗口获取鼠标所在句柄()
    变量 下标=数组值查找(句柄数组,返回句柄,1)
    如果(下标==-1)
        数组追加元素(句柄数组,返回句柄)
        线程句柄=线程开启("主线程",返回句柄)
        数组追加元素(线程数组,线程句柄)
    否则
        如果(返回句柄==句柄数组[下标])
            消息框("请勿重复启动同一个窗口","提示")
            返回 0
        否则
            数组追加元素(句柄数组,返回句柄)
            线程句柄=线程开启("主线程",返回句柄)
            数组追加元素(线程数组,线程句柄)
        结束
    结束
结束

功能 终止_热键()
    变量 返回句柄,下标
    返回句柄=窗口获取鼠标所在句柄()
    下标=数组值查找(句柄数组,返回句柄,1)
    线程关闭(线程数组[下标])
    数组指定位置删除(句柄数组,下标)
    数组指定位置删除(线程数组,下标)
结束


启动是没有任何问题,就是单停出了问题。如上代码单停时只能停第一个启动的窗口,后面启动的窗口都无法停止。 如果把 数组指定位置删除(句柄数组,下标) 改成  数组指定位置删除(句柄数组,下标-1)  则可以单停两个窗口。  求大神指教,不胜感激!


作者: 312120292    时间: 2016-10-16 14:53
你这个是有问题的,还有一些问题还没有体现出来,
比如说,某个窗口崩溃了,也就是突然消失了,也会出现问题!

换一种方式试试吧
作者: cxch1314    时间: 2016-10-16 14:56
312120292 发表于 2016-10-16 14:53
你这个是有问题的,还有一些问题还没有体现出来,
比如说,某个窗口崩溃了,也就是突然消失了,也会出现问 ...

多谢指点,请问你有没有什么好的方式指教一下呢
作者: 312120292    时间: 2016-10-16 15:00
你可以尝试把 序号代人窗口标题,到需要停的时候 把当前要停止的窗口标题获取下来,取出序号,就知道是哪个线程了,自然就能停止这个指定序号的线程了
作者: cxch1314    时间: 2016-10-16 15:02
312120292 发表于 2016-10-16 15:00
你可以尝试把 序号代人窗口标题,到需要停的时候 把当前要停止的窗口标题获取下来,取出序号,就知道是哪个 ...

好的,多谢指教




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