TC官方合作论坛

标题: 多窗口多线程后台的脚本怎么写? [打印本页]

作者: 123木头人    时间: 2013-8-24 17:46
标题: 多窗口多线程后台的脚本怎么写?
本人刚看完各种介绍,语法等学习,已学会简单的单线程的编写,求教如何写多窗口多线程后台的编写,主要不懂如何让各个线程锁定不同绑定的窗口工作,求教了,谢谢!!!
作者: 123木头人    时间: 2013-8-24 17:46
还有后台也不懂...
作者: 元芳    时间: 2013-8-24 17:55
我也求...他们说要数组 可是我不会啊 郁闷
作者: q765758576    时间: 2013-8-24 20:00
http://bbs.tyuyan.com/thread-27480-1-1.html  这里有教程
http://bbs.tyuyan.com/thread-22135-1-1.html  这里有代码演示

希望对你有帮助
作者: kaixindexifan    时间: 2013-8-25 01:27
多线程多窗口后台很简单。
提供下思路

1:先说多窗口,比如要同时操作2个窗口,那么需要创建两个对象,
比如:
ts1=com("ts.tssoft")
ts2=com("ts.tssoft")
两个游戏窗口的窗口句柄分别为hwnd1,hwnd2
现在分别用两个对象后台绑定两个窗口句柄
ret1=ts1.bindwind(hwnd1,"dx","dx","dx",101)
ret2=ts2.bindwind(hwnd2,"dx","dx","dx",101)
绑定成功后,现在我们鼠标操作比如
ts1.moveto(600,200)
这就是窗口1后台鼠标移动到600,200。这里的600,200都是相对于游戏窗口原点,也就是无论游戏窗口摆放在哪里,我们操作的地方都是相对于游戏窗口原点的坐标,这样就不会有干扰了。
那么要操作第二个窗口就简单了,因为第二个窗口句柄绑定是由ts2这个对象完成的,所以我们操作ts2这个对象就行了。同样的,
ts2.findpic(0,0,1024,768,"d:\\new.bmp","000000",0.9,0,x,y)
就是看能否在窗口2中找到D盘下new.bmp图片。

所以,简单理解,要操作一个窗口,就创建一个对象,然后绑定这个窗口,最后我们只需要操作这个对象就能对应操作每一个窗口了。

2.多线程

一个程序写出来,肯定会有很多线程,而开启一个线程就是开启了一个功能,我可以开启2个线程,第一个线程来操作ts1这个对象,第二个线程来操作ts2这个对象。当然我也可以开启两个线程,两个线程都用来操作ts1这一个对象,这里就涉及到线程同步,临界区的问题,需要多了解熟悉。我这里说的意思就是,线程都是自己根据需求来开启,达到自己的要求就行了,关键还是思路要清晰,知道为什么就行了。
作者: lucky    时间: 2013-8-25 01:52
很清析很好
作者: 123木头人    时间: 2013-8-25 20:30
回复 5楼kaixindexifan的帖子

多窗口勉强看懂了些,可如本楼所说那样,是后台吗,没看懂后台的处理在哪...
作者: kaixindexifan    时间: 2013-8-27 03:05
回复 7楼123木头人的帖子

ret1=ts1.bindwind(hwnd1,"dx","dx","dx",101)

后面的hwnd1是窗口句柄
第一个"dx"是绑定颜色的一种模式,常见的除了 dx,还有gdi,gdi2,dx2等等,这些颜色模式都是后台模式,也就是绑定这个模式成功后,图色操作都是后台的了。

第二个"dx"是绑定鼠标的一种模式,常见的除了 dx,还有normal,windows,其中normal就是前台鼠标模式。

第三个是键盘,这里我例子用的是天使插件,你可以多去看看天使插件使用手册,这里给你解释那么多,是想让你明白后台操作,其实就是用插件对象去绑定后台模式,如果你绑定的是后台模式,用对象去操作就是后台操作,你绑定的是前台模式,那么用对象去操作的就是前台操作。
作者: 123木头人    时间: 2013-9-1 23:27
回复 8楼kaixindexifan的帖子

哦,谢谢
作者: malaigou    时间: 2016-6-26 19:39
mark




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