|
马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
TC已经进入4.0时代,可怜我还没学好3.0的,就又要重新来学过.为了尽快熟悉4.0,只能先把以前的例子拿来炒一炒冷饭.
界面虽然丑陋了点,但功能基本齐全了,可无限多开,多开后可对单个窗口单开/单停/单恢复,也可以对所有窗口全停/全恢复.并且一个窗口可以开多个线程.个人表示很喜欢4.0的数组.
操作注意:用鼠标指向任意窗口按下热键就可以看到效果,它会改变窗口标题和一些控件的文字,并试图向窗口发送字符,停止后这些文字不会消失,所以在有些地方可能造成影响,切记切记.
项目源码已打包,国际惯例回复可下:
源码:
- 空间 多开//版本:TC4.028
- 窗口句柄=数组[],线程句柄1=数组[],线程句柄2=数组[],线程状态=数组[],全部状态=假
- 功能 窗口(热键)//由热键0,热键1传入值
- 句柄=窗口.鼠标所在窗口句柄()
- aa=数组空间.查找(窗口句柄,句柄)//4.0的数组用起来爽歪歪,4.0我看行!
- 如果(aa==-1)//-1表示窗口句柄数组里没这个窗口句柄,是个新窗口
- 如果(热键==0)//把新窗口句柄加入数组并开启线程,这里开了二个线程
- 数组空间.增加(窗口句柄,句柄)
- 数组空间.增加(线程句柄1,线程.开启("多开.操作1",句柄))
- 数组空间.增加(线程句柄2,线程.开启("多开.操作2",句柄))
- 数组空间.增加(线程状态,1)//用1来表示线程是运行的,0表示暂停
- 列表框.增加文本("列表框0","运行(线程1:"&线程句柄1[0]&"--线程2:"&线程句柄2[0])
- 如果结束
- 否则//如果是旧窗口,根据所按热键做相应操作
- 如果(热键==1)//关闭线程的操作
- 线程.关闭(线程句柄1[aa])
- 线程.关闭(线程句柄2[aa])
- 列表框.增加文本("列表框0","线程关闭:"&线程句柄1[aa]&"--"&线程句柄2[aa])
- 数组空间.删除指定项(窗口句柄,aa)//线程关闭后把相应的数组元素删除
- 数组空间.删除指定项(线程句柄1,aa)
- 数组空间.删除指定项(线程句柄2,aa)
- 数组空间.删除指定项(线程状态,aa)
- 窗口.设置标题(句柄,"停止")
- 返回 真//热键1操作完毕,收工!记得返回
- 如果结束//下面是热键0的操作
- 如果(线程状态[aa]==1)
- 线程.暂停(线程句柄1[aa])
- 线程.暂停(线程句柄2[aa])
- 线程状态[aa]=0
- 否则
- 线程.恢复(线程句柄1[aa])
- 线程.恢复(线程句柄2[aa])
- 线程状态[aa]=1
- 如果结束
- 如果结束
- 功能结束
- 功能 操作1(句柄)
- 循环(真)
- 窗口.设置标题(句柄,"运")
- 辅助.等待(500)
- 窗口.设置标题(句柄,"行")
- 辅助.等待(500)
- 窗口.发送字符串(句柄,"运行中")
- 辅助.等待(500)
- 循环结束
- 功能结束
- 功能 操作2(句柄)
- 循环(真)
- 列表框.增加文本("列表框0","窗口句柄:"&句柄&"--线程2演示")
- 辅助.等待(1500)
- 循环结束
- 功能结束
- 功能 全操作(热键)//由热键2,热键3传入值
- 线程数量
- 数组空间.大小(线程句柄1,线程数量)//窗口句柄,线程句柄1,线程句柄2,线程状态随便一个数组的数量都行
- 如果(线程数量>0)
- 如果(热键==2)//根据不同的热键作不同的操作
- 如果(全部状态==假)//这个是真是假随自己喜欢
- 遍历(x=0;x<线程数量;x++)
- 线程.暂停(线程句柄1[x])
- 线程.暂停(线程句柄2[x])
- 线程状态[x]=0
- 遍历结束
- 标签.设置文本("标签2","全部恢复")
- 否则
- 遍历(x=0;x<线程数量;x++)
- 线程.恢复(线程句柄1[x])
- 线程.恢复(线程句柄2[x])
- 线程状态[x]=1
- 遍历结束
- 标签.设置文本("标签2","全部暂停")
- 如果结束
- 全部状态=!全部状态//把值设为相反
- 列表框.增加文本("列表框0","全部状态:"&全部状态)
- 否则//下面是热键3的操作
- 遍历(x=0;x<线程数量;x++)
- 线程.关闭(线程句柄1[x])
- 线程.关闭(线程句柄2[x])
- 遍历结束
- 窗口句柄=数组[]//线程关闭完后把相关变量初始化
- 线程句柄1=数组[]
- 线程句柄2=数组[]
- 线程状态=数组[]
- 全部状态=假
- 标签.设置文本("标签2","全部(暂停/恢复)")
- 列表框.增加文本("列表框0","全部停止!")
- 如果结束
- 如果结束
- 功能结束
- 功能 热键0_热键()
- 多开.窗口(0)//热键里不要用开启线程来调用函数
- 功能结束
- 功能 热键1_热键()
- 多开.窗口(1)//四个热键里都用线程来调用函数好像有点问题,不知什么原因,求真相!
- 功能结束
- 功能 热键2_热键()
- 多开.全操作(2)
- 功能结束
- 功能 热键3_热键()
- 多开.全操作(3)
- 功能结束
- 功能 退出_点击()
- 辅助.退出()//退出前好像应该加点什么,懒得加了.
- 功能结束
- 空间结束
复制代码 |
|