|
发表于 2013-8-25 01:27:57
|
显示全部楼层
多线程多窗口后台很简单。
提供下思路
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这一个对象,这里就涉及到线程同步,临界区的问题,需要多了解熟悉。我这里说的意思就是,线程都是自己根据需求来开启,达到自己的要求就行了,关键还是思路要清晰,知道为什么就行了。 |
评分
-
查看全部评分
|