TC官方合作论坛

标题: 如何获取这样没有标题的窗口? [打印本页]

作者: bucks1964    时间: 2012-6-1 08:53
标题: 如何获取这样没有标题的窗口?
感谢夏老师帮我解决了如何打开游戏进程问题,下一个问题是如何获取无标题窗口,如图:
[attach]3589[/attach]
然后发送一个回车确认键,请老师们帮忙解答,菜鸟一个,请不要见笑。

作者: xenolss    时间: 2012-6-1 08:58
   找字吧 找到图里确定的字 点击就是了 找不到说明被遮挡 试着用进程名激活它并置顶。 如果进程名没有。。。说明没打开 重新开进程
作者: bucks1964    时间: 2012-6-1 09:17
回复 2楼xenolss的帖子

非常感谢,你说的很对,但是我是刚接触tc的新手,在tc库功能列表中只发现有找图命令,没有发现找字命令,我很笨的,呵呵,能请你用脚本语句或直接提示用那个命令来教我么?让我开始模仿。不胜感激!
作者: xenolss    时间: 2012-6-1 09:36
int x,y,hwnd,hwnd1
while(true)
//这里写你打开的代码
hwnd=dm.FindWindowByProcess("xxxx.exe","","")            ------------------这里你的窗口无标题 只好用大漠的收费功能用进程名找你图里的界面的窗口 xxxx.exe 指的是打开进程之后的登陆界面的进程 ----------------
help.sleep(200)
if(hwnd!==0)       -----------如果找到了
  dm.SetWIndowState(hwnd,1) -----------激活它
  help.sleep(200)
  dm.MoveWindow(hwnd,0,0)      -----------移动到屏幕左上角 避免你拉到看不见确定的地方导致后面死循环
  break                                             ---------跳出这个循环因为它已经存在了,如果不存在则回到循环首再次打开进程
endif
endwhile
//下面进入下一个步骤
while(true)     ----------定义一个循环保证进入下一步操作才跳出
help.sleep(500)             -------------这里加延迟避免你点击确定 完全进游戏之前 游戏客户端进程没出现的真空期  循环无延迟导致cpu暴涨
hwnd1 = dm.FIndWindowByProcess("xxxxxxxxxxxxxx.exe","","")      ----------------这里是指点了确定之后 到登陆界面的真正游戏客户端进程名
if(hwnd1!==0)
   break                      ------------找到了游戏真正客户端说明执行完了 跳出
else                           -------------没找到就找你那个图里的界面的确定 点击他进入游戏
   dm.FindStr(0,0,2000,2000,"确定","xxxxxx-xxxxxx",1.0,x,y)    -----------------这里xxxxxx-xxxxxx 是你确定这2个字的基色和色偏  确定要自己提取点阵写到大漠的字库里 ----------------
      if(x>0)            ----------找到了
      dm.MoveTo(x+5,y+5)   ---------移动到确定图标上
      help.sleep(200)           ----------延迟200毫秒
      dm.LeftClick()              ----------左键单击
      endif
endif
endwhile


排版有点乱就在回复里编辑的 见谅



作者: tyuyan    时间: 2012-6-1 09:44
可以用AB抓抓 试下,看这个游戏有没有类名,我们是可以通过类名找窗口句柄的。
作者: bucks1964    时间: 2012-6-1 10:00
回复 4楼xenolss的帖子

感谢你这样热心的朋友,写的很具体了,我来试试。
作者: bucks1964    时间: 2012-6-1 10:00
回复 5楼tyuyan的帖子

多谢,我来试试
作者: 花开花落    时间: 2012-6-1 10:30
也可以用鼠标来获取窗口句柄的。
作者: 战斗之神    时间: 2012-6-1 10:30
获取句柄很多种方法。 楼主可以多去试下。
作者: 落叶归根    时间: 2012-6-1 11:20
反正获得句柄方法多。 楼主可以各种尝试。
作者: 战地之王    时间: 2012-6-1 11:20
看看 。
作者: bucks1964    时间: 2012-6-1 11:28
回复 5楼tyuyan的帖子

ab抓抓一使用,这个窗口就最小化了。没有办法实现取类名和制作透明图,不知道怎么下手了。哈哈
作者: bucks1964    时间: 2012-6-1 11:30
按我的菜鸟思维是要先获取窗口句柄,然后才能找图找色或找字,但如何才能获取这个窗口,我茫然了。第一次搞程序,有点呆,请多包涵。
作者: bucks1964    时间: 2012-6-1 11:32
回复 4楼xenolss的帖子

这位大侠老师你有YY或QQ么?那样你可以语音教我,如果可以不胜感激涕零!
作者: lyf1314    时间: 2012-6-1 12:58
AB 抓抓不行,那就用微软的SPY++试试看
作者: 无情的冷风    时间: 2012-6-1 14:14
     还可以用大漠的综合工具。
作者: TakeBobo    时间: 2012-6-1 14:16
  看看,。 原来这么多可以获取句柄的。。
作者: sule325067    时间: 2014-3-23 03:50
我也要看看




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