TC官方合作论坛

标题: 多线程使用方法 [打印本页]

作者: 章昊    时间: 2011-7-11 11:58
标题: 多线程使用方法
线程使用方法示例[attach]4557[/attach]   
[attach]6656[/attach]这里发的所有源码附件需要用户下载安装TC开发工具使用,打开开发工具---在菜单栏中点击文件---打开---打开现有项目---找到该解压后的源码打开---启动调试生成.exe程序运行脚本。

【脚本介绍】:该脚本说明了多线程的使用方法,多线程的使用,使程序执行更加有效率,在代码中有详细的注释,相信大家能够很快掌握。所谓多线程就是:多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。例如:在浏览器中你可以在下载JAVA小应用程序或图象的同时滚动页面,在访问新页面时,播放动画和声音,打印文件等,这就是多线程的使用。使用多线程的时候只要该游戏支持前后台,多线程也一样是支持前后台的,当然每个线程只能创建大漠一次。多线程可以实现游戏多开。
【原理】:自定义2个函数---用线程的方法开启---实现了同步的原理---让2个方法同时进行。在此还增加了线程的暂停和恢复,使功能更加强大。

【使用说明】:
1、创建一个1.txt - 记事本,并打开该记事本;
2、将输入法设为英文输入。

【源码如下】:

空间 线程使用
//这是一个以"我的程序"命名的空间,下面的语句都在这个空间里实现
线程编号1
//定义一个全局变量,来获取开启的线程
线程编号2
//定义一个全局变量,来获取开启的线程
窗口编号
//定义一个整型的全局变量来获取窗口句柄

功能 线程方法1()
循环(真)
//当条件为真时,该执行一个无限循环语句
辅助.等待(1000)
//等待1000毫秒,然后再执行下面语句
键盘.按键(65,1)
//键盘按下a键1次
循环结束
//循环结束语句
返回 真
//函数返回语句
功能结束
//功能函数用完后结束该功能

功能 线程方法2()
循环(真)
//当条件为真时,该执行一个无限循环语句
辅助.等待(1000)
//等待1000毫秒,然后再执行下面语句
键盘.按键(66,1)
//键盘按下b键1次
循环结束
返回 真
功能结束

功能 开始_点击()
//这是主函数的入口处,语句的执行从这里开始
窗口编号=窗口.找到窗口("1.txt - 记事本")
//根据记事本的标题找到该窗口并获取窗口句柄
如果(窗口编号==0)
//当窗口句柄不存在时,执行下面语句
辅助.消息框("窗口找不到")
否则
窗口.置顶(窗口编号,true)
//将该窗口放在当前屏幕最前面,处于置顶状态
窗口.设置位置(窗口编号,10,10)
//根据窗口句柄,X、Y坐标设置该窗口的位置
窗口.设置大小(窗口编号,500,500)
//根据窗口句柄,长和宽设置窗口的大小
辅助.等待(1000)
//等待1秒
线程编号1=线程.开启("线程使用.线程方法1","")
//在我的程序这个空间开启线程方法1,并用线程编号1来获得
线程编号2=线程.开启("线程使用.线程方法2","")
//在我的程序这个空间开启线程方法2,并用线程编号2来获得
如果结束
返回 真
功能结束

功能 退出_点击()
   
辅助.退出()
返回 真
功能结束

功能 按钮0_点击()
//这是一个逻辑型的按钮函数,该按钮在界面设计中添加,用于控制线程暂停
窗口.置顶(窗口编号,true)
//将该窗口放在当前屏幕最前面,处于置顶状态
线程.暂停(线程编号1)
//用于暂停我们开启的线程方法1
线程.暂停(线程编号2)
//用于暂停我们开启的线程方法2
返回 真
功能结束

功能 按钮1_点击()
//这是一个逻辑型的按钮函数,该按钮在界面设计中添加,用于控制线程恢复
窗口.置顶(窗口编号,true)
线程.恢复(线程编号1)
线程.恢复(线程编号2)
返回 真
功能结束

空间结束




作者: 小风子    时间: 2011-7-11 16:25
怎么不把源码放在帮助里呢?放在论坛上还是不够好!
作者: 章昊    时间: 2011-7-11 16:33
因为涉及到了一些游戏的代码。以后这些贴会以官方作为一个连接,导入到论坛中,在论坛中方便大家学习,讨论!
作者: ↘夢想飛舞√    时间: 2011-7-20 09:21
很典型的例子   给力
作者: 502908103    时间: 2011-7-23 15:12
回复 1楼章昊的帖子

还要补充一点啊。 线程必须写在程序 前面 ,。写到后面调 用会出错
作者: 章昊    时间: 2011-7-23 17:07
回复 5楼502908103的帖子

若写到程序前面的话,会没找该窗口就执行任务了、、、、
作者: maple185    时间: 2011-8-4 18:11
好东西:8-)
作者: 全世界失眠    时间: 2011-8-12 19:28
你这真的是多线程?
我看怎么就是单线程呢?
作者: 章昊    时间: 2011-8-13 08:56
回复 8楼全世界失眠的帖子

同时开启了2个线程,你可以通过调试进行测试。
作者: hzzjbz    时间: 2011-8-14 12:28
RMB请人写款梦幻西游游戏排队或者秒进新区的工具(提供软件参考)不知道是否是多线程的
第1:软件要求有充值卡功能。天卡,周卡,月卡

第2:是否能做到绑机,一机一码

第3:可关闭软件,软件关闭后游戏不会掉线

第4:进入排队后报警有提示音,进到登陆画面在提示报警

第5:最要求的一点,越快进入游戏越好,咋们做的就是抢线进入新区的功能

第6:或者提供软件,变成自已的

请看下面这段录像。看了之后就明白做的是什么了

http://v.youku.com/v_show/id_XMjg4MDczMTQ4.html

QQ:7650494  (加时注明软件)
作者: amdasd    时间: 2011-8-16 00:39
多线程的应用好像有很多的限制吧,希望斑竹有时间具体介绍一下
作者: 章昊    时间: 2011-8-16 08:48
回复 11楼amdasd的帖子

恩,你可以把你遇到的问题提出来,那么我就更好的帮助你解决了。
作者: amdasd    时间: 2011-8-16 23:58
回复 12楼章昊的帖子

比如在官网的一个视频教程里提到多线程在游戏的应用前提条件有一个是游戏必须支持后台键盘操作,我一直没弄明白何为支持后台键盘操作,又如何判断是否支持,这些概念性的东西我一直也想不通,网上也找不到相关介绍
作者: 章昊    时间: 2011-8-17 08:57
回复 13楼amdasd的帖子

是否支持后台,你可以尝试绑定窗口,实现一些简单的按键,鼠标操作来判断,如果是后台的话就会执行后面的按键鼠标移动,若不支持后台则不会执行这些命令。要想执行后台需要先绑定窗口
作者: amdasd    时间: 2011-8-17 11:14
回复 14楼章昊的帖子

我尝试过用单线程对游戏进行操作,键盘操作都可以执行
用多线程时绑定窗口可以实现窗口的调整窗口位置、大小之类的功能
但是键盘操作却不执行
窗口句柄=窗口.找到窗口("111")这个命令我理解没错的话就是绑定窗口的命令吧?
这是否就说明不支持后台?
作者: lt729541702    时间: 2011-8-22 21:05
明白了一点点咯
作者: xieping    时间: 2011-8-25 12:50
高手厉害啊
作者: 章昊    时间: 2011-8-25 13:19
回复 15楼amdasd的帖子

不是的,窗口句柄=窗口.找到窗口("111")这个只是找到窗口,绑定窗口需要创建大漠,然后绑定窗口。
作者: 小西    时间: 2011-9-6 17:34
不怎么懂,看得迷糊呢:(
作者: c305291525    时间: 2011-9-6 19:09
好啊
作者: wangdongze1984    时间: 2011-9-23 23:14
期待雷霆给力到2012
作者: fkelyvi    时间: 2011-9-23 23:45
回复 1楼章昊的帖子

顶 :D
作者: wangdongze1984    时间: 2011-9-24 09:52
积分不够啊咋办啊啊
作者: 289506181    时间: 2011-9-25 00:28
很好,看了之后受益良多!谢谢  以后还望不吝赐教!
作者: 命运好幽默    时间: 2011-9-27 01:36
顶起,不错,呵呵 前期
作者: 开始很美丽丶    时间: 2011-9-27 05:54
额.我越来越迷茫了- -
作者: 菲菲    时间: 2011-10-4 14:35
学习了、、、、
作者: b04231015    时间: 2011-10-7 09:01
定。。。。。。。。。。。。。。。。。。。。。。。
作者: qdlxc    时间: 2011-10-8 13:14
学习了:D
作者: hackmsx    时间: 2011-10-8 16:00
空间 我的程序


//这是一个以"我的程序"命名的空间,下面的语句都在这个空间里实现

整型 线程编号1

//定义一个全局变量,来获取开启的线程

整型 线程编号2


//定义一个全局变量,来获取开启的线程

整型 窗口编号

//定义一个整型的全局变量来获取窗口句柄




功能 逻辑型 线程方法1()


循环(真)


//当条件为真时,该执行一个无限循环语句

辅助.等待(1000)
作者: myhellfire    时间: 2011-10-9 14:22
努力一下- -`1还不能下附件。,郁闷呢
作者: 233094958    时间: 2011-10-13 20:21
......
作者: 路露露    时间: 2011-10-14 11:13
看下.
作者: 迩比可比克    时间: 2011-11-1 21:38
留迹   非水
作者: rlsrmsfb    时间: 2011-11-19 10:04
很好...:D
作者: zmm001    时间: 2011-11-21 22:36
看下
作者: jiajiacool    时间: 2011-11-22 10:25
对呀,大哥,放后面开启调用会出错的,我都为这事纠结半天了:L
作者: jiajiacool    时间: 2011-11-22 10:26
该怎么解决啊?
作者: zq4303310    时间: 2011-11-23 14:56
哎   头都大了    哪个老大发个已经做好的脚本给我啊
作者: 涩郎    时间: 2011-11-26 23:29
好像多线程不完整吧?
作者: panwenlong    时间: 2011-12-1 11:26
我的为什么是提示这个线程是 “未定义的的函数“,高手帮忙看看

空间 植物僵尸辅助
//定义默认空间
功能 逻辑型 开始_点击()
整型 线程句柄
线程句柄=线程.开启("植物僵尸辅助.xc")

返回 真
功能结束

功能 整型 xc()
辅助.消息框("KJLjljkl")
返回 0
功能结束
空间结束
作者: 254642432    时间: 2011-12-1 20:53
多 线程 是好东西 , 要好好研究下哦
作者: 794319324    时间: 2011-12-2 16:21
新手上路
作者: 794319324    时间: 2011-12-2 16:24
回复 1楼章昊的帖子

高手能教一下QQ自由幻想中的上线验证码怎么能自动用脚本写上吗
作者: zhchfei88    时间: 2011-12-2 21:55
好像.恢复键按了没有用
作者: lk521qq    时间: 2011-12-5 13:08
能把界面设置发出来看下吗
作者: a57402145    时间: 2011-12-5 13:17
hao方法
作者: abdeweili    时间: 2011-12-6 18:32
很喜欢,终于有了多线程的实例了
作者: 人生若只如初见    时间: 2011-12-7 15:44
好像.恢复键按了没有用
zhchfei88 发表于 2011-12-2 21:55:02

功能 逻辑型 按钮0_点击()

//这是一个逻辑型的按钮函数,该按钮在界面设计中添加,用于控制线程暂停
窗口编号=窗口.找到窗口("1 - 记事本")//加上这一行就行了,我也新手试了一下就成功了呵呵,注意扩展名哈

窗口.置顶(窗口编号)

//将该窗口放在当前屏幕最前面,处于置顶状态
线程.暂停(线程编号1)

//用于暂停我们开启的线程方法1
线程.暂停(线程编号2)


作者: akhongyu    时间: 2011-12-8 11:00
回复 10楼hzzjbz的帖子

我又成小白了。。555
作者: 小统统    时间: 2011-12-9 20:46
……
作者: maliang0214    时间: 2011-12-11 11:15
您所在的用户组无法下载或查看附件    为什么会这样?
作者: v11ks    时间: 2011-12-11 12:09
思路彻底明白 语法还要再读读
作者: 1063287748    时间: 2011-12-13 07:48
sdadsada
作者: tangfeng2004    时间: 2011-12-13 23:14
很典型的例子   给力
作者: 小西    时间: 2011-12-13 23:43
.. 支持昊哥, 顶起 ... :D
作者: 求学小童    时间: 2011-12-14 02:02
看得不怎么懂,学习
作者: v11ks    时间: 2011-12-16 23:18
中文就是好理解 赞 会了
作者: a15343410    时间: 2011-12-17 15:07
顶顶顶.好犀利啊,.
作者: dibowei00    时间: 2011-12-20 17:05
自觉学习中......
作者: yjbdmcx    时间: 2011-12-24 15:28
回复 1楼章昊的帖子

小白下不了啊
作者: 9165222    时间: 2011-12-28 15:20
学习学习 不错的东东
作者: dzh    时间: 2011-12-30 18:30
我的顶顶!学习了》
作者: 风滚草    时间: 2011-12-30 21:03
小白是真看不懂呀
作者: 5587    时间: 2011-12-30 22:41
:-o:~:-o:~:-o
作者: chenmoa    时间: 2011-12-31 11:21
学习
作者: lpwneb    时间: 2011-12-31 16:28
拷贝你的源代码下来的。。怎么出错了???请求解答。。谢谢~~!
作者: jxchen    时间: 2011-12-31 16:59
虽然看不懂还是顶下吧
作者: 风滚草    时间: 2011-12-31 19:32
怎么办呀~下来也不会用呀
作者: cyzeng0058    时间: 2012-1-3 05:23
穷啊。回帖挣钱
作者: x2526167    时间: 2012-1-4 15:40
为什吗下载不了?
作者: egmsky    时间: 2012-1-4 19:01
:strong::strong:
作者: baloma    时间: 2012-1-6 12:14
不错,是好东西
作者: dibowei00    时间: 2012-1-16 12:42
终于找到了.哈哈
作者: kfiskitx    时间: 2012-1-23 21:35
学习了..
作者: ①笑②过    时间: 2012-2-5 21:56
头疼
作者: 钱爷    时间: 2012-2-7 23:49
顶下
作者: bbsmall520    时间: 2012-2-14 15:18
学习下!!!
作者: 105214121    时间: 2012-2-14 17:39
我想学习多线程啊
作者: boards77    时间: 2012-2-17 19:53
先看下说明,TC的相关资料太少了
作者: 531716976    时间: 2012-2-18 13:50
:D 真是个好东西
作者: 流光幻舞    时间: 2012-2-18 14:42
按键精灵的线程貌似真的不行,还没学会线程...
作者: liujinxiang258    时间: 2012-2-19 19:01
怎么下载不了啊???  怎么回事?
作者: pinggomd    时间: 2012-2-21 22:23
怎么才能下附件啊。。。:(
作者: wodao10    时间: 2012-2-22 14:33
慢慢学习慢慢学习慢慢学习慢慢学习慢慢学习慢慢学习慢慢学习慢慢学习
作者: xytcl    时间: 2012-3-10 17:16
多谢分享啊啊啊啊
作者: lostcity5253    时间: 2012-3-12 23:55
挺好的,非常直观,,谢谢
作者: qq85660107    时间: 2012-3-18 17:08
:D:(:-D看下 是什么
作者: yizhenge    时间: 2012-3-22 12:53
学习了。对新手很有帮助
作者: MMC    时间: 2012-3-27 11:54
学习中...
作者: kason    时间: 2012-3-27 12:00
还是不懂那
作者: 开心小鱼    时间: 2012-3-27 12:40
回复 1楼章昊的帖子

学习才能进步
作者: wumengyi    时间: 2012-3-29 00:55
学习才能进步
作者: rail    时间: 2012-3-29 10:20
+++++++++++++
作者: dxkj    时间: 2012-4-1 16:04
好,学习中, 我什么时候能发贴
作者: pacino    时间: 2012-4-5 19:04
好!非常好!!真的很不错!!!啊
作者: q631777661    时间: 2012-4-6 10:19
楼主好人
作者: xiao13lang    时间: 2012-4-13 16:48
一个字好!二个字很好!!三个字非常好!!!正是新手需要的,收藏了
作者: 413270170    时间: 2012-4-27 00:05
努力发帖。争取升级
作者: lixuefeng1008    时间: 2012-5-2 18:03
学习啊啊!




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