标签:序号 线程 根据 线程关闭 直接 检测 方便 注册 初始化
变量 t_ts = 数组() //定义个天使对象全局数组
变量 t_hwnd = 数组() //定义个多开窗口句柄全局数组
变量 t_i = 0 //定义数组下标
变量 t_r = 数组() //定义任务线程id数组
变量 t_j = 数组() //定义检测线程id数组
变量 t_path //路径
//==================================================================================
功能 t_任务线程(j)
结束
功能 t_检测线程(j)
结束
功能 设置路径和字库(j)
结束
//==================================================================================
功能 天使多开_初始化()
T_基本设置_标准的注册天使插件(获取资源路径("rc:TSPlug.dll"))
结束
功能 启动_热键()
变量 index = 数组值查找(t_hwnd, -1, 1)//启动时判定窗口句柄数组是否有停止标识,如果有则直接以此标识位开启线程, -1 为我们定义的停止标识
如果(index != -1)
BindWindow(index)
否则
BindWindow(t_i)
t_i = t_i + 1
结束
返回 0
结束
功能 BindWindow(j)
//获取窗口句柄
t_hwnd[j] = 窗口得到顶层窗口句柄()
调试输出("窗口句柄|" & t_hwnd[j])
//绑定窗口句柄
t_ts[j] = 插件("ts.tssoft")
变量 ts_ret = t_ts[j].BindWindow(t_hwnd[j], "gdi", "windows", "windows", 0)
如果(ts_ret > 0)
//线程开启
设置路径和字库(j)
t_r[j] = 线程开启("t_任务线程", j) //启动线程并且把该线程的线程id放到 线程id数组中
t_j[j] = 线程开启("t_检测线程", j) //启动线程并且把该线程的线程id放到 线程id数组中
调试输出("[线程句柄] 序号:" & j & "|任务线程,检测线程|" & t_r[j] & "," & t_j[j])
结束
等待(2000, 假)
结束
功能 终止_热键()
变量 end_hwnd = 窗口得到顶层窗口句柄()//获取窗口得到顶层窗口句柄
变量 index = 数组值查找(t_hwnd, end_hwnd, 1)//查找开启的窗口句柄中是否有要停止的值返回所在数组下标
如果(t_ts[index].IsBind(end_hwnd) > 0)
t_ts[index].UnBindWindow()//根据下标解除绑定
结束
t_hwnd[index] = -1 //将数组中的句柄值设置为-1,方便开启的时候取用
线程关闭(t_r[index])//根据下标关闭线程
线程关闭(t_j[index])//根据下标关闭线程
调试输出("[终止_热键] 窗口句柄" & t_hwnd[index])
返回 0
结束
标签:序号 线程 根据 线程关闭 直接 检测 方便 注册 初始化
原文地址:https://www.cnblogs.com/QLEO/p/10398008.html