TC官方合作论坛

标题: 求教如何获得活动窗口的相对坐标? [打印本页]

作者: flyinsk    时间: 2012-7-18 11:50
标题: 求教如何获得活动窗口的相对坐标?
脚本需要在一个经常活动的窗口内点击多个位置的按钮。
按键精灵获得活动窗口的相对坐标可以用数组,看了一下tc没有这方面的教程,请教一下大师们如何实现相对坐标的获取呢?
按键的代码如下:
Hwnd = Plugin.Window.Find(1, " TEST PROGRAM ")
Call Plugin.Window.Active(Hwnd)
sRect = Plugin.Window.GetClientRect(Hwnd)
MyArry=Split(sRect,"|")
Ux = CLng(MyArry(0))
Uy = CLng(MyArry(1))

非常感谢!!!
作者: 陌上青衣。    时间: 2012-7-18 12:08
表示没学过按键,看不懂按键命令

调用大漠插件一绑定窗口,神马都是相对坐标了
作者: c724211922    时间: 2012-7-18 12:43
酱油
作者: flyinsk    时间: 2012-7-18 13:03
回复 2楼陌上青衣。的帖子

非常感谢!马上研究大漠插件去!
作者: 梅春雨    时间: 2012-7-18 13:24
路过,看看
作者: feng123144    时间: 2012-7-18 13:48
TC没有游戏窗口的相对坐标?都是以屏幕坐标为准的吗?
作者: flyinsk    时间: 2012-7-18 14:01
回复 6楼feng123144的帖子

肯定有方法实现相对坐标,只是没有看到相应的脚本。为了简单的点击按钮就调用大漠有点大材小用了。
作者: flyinsk    时间: 2012-7-18 14:28
整型 窗口句柄
窗口句柄=窗口.找到窗口("TEST PROGRAM")
窗口.显示(窗口句柄)
整型 x坐标,y坐标
窗口.获取位置(窗口句柄,x坐标,y坐标)
鼠标.移动(100+x坐标,200+y坐标)
鼠标.右键单击(1)
请教大神,这段脚本能实现活动窗口内点击按钮的效果吗?
关键是鼠标移动的语句可以这样用吗?
作者: feng123144    时间: 2012-7-18 14:36
回复 8楼flyinsk的帖子

应该可以,鼠标.移动(x+100,y+200)
作者: flyinsk    时间: 2012-7-18 16:07
搞了一下午基本明白了,编的脚本如下:
整型 窗口句柄,rCX,rCY,返回宽,返回高
窗口句柄=窗口.找到窗口("test.bmp - ACDSee v3.1")
窗口.显示(窗口句柄)
窗口.激活(窗口句柄)
窗口.获取客户区大小(窗口句柄,rCX,rCY,返回宽,返回高)
鼠标.移动(rCX+310,rCY+97)
辅助.等待(2000)
鼠标.右键单击(1)
鼠标.移动(rCX+62,rCY+521)
辅助.等待(2000)
鼠标.右键单击(1)
鼠标.移动(rCX+296,rCY+714)
辅助.等待(2000)
鼠标.右键单击(1)
鼠标.移动(rCX+183,rCY+499)
辅助.等待(2000)
鼠标.右键单击(1)
鼠标.移动(rCX+92,rCY+710)
辅助.等待(2000)
鼠标.右键单击(1)
作者: feng123144    时间: 2012-7-18 18:08
这个是游戏窗口的相对坐标这样实行吗?
作者: flyinsk    时间: 2012-7-18 18:41
回复 11楼feng123144的帖子

我做的的不是游戏,针对一个软件做的,是相对的坐标,游戏应该也是类似方法实现的。主窗口移动到哪都没问题。问一下tc有标记跳转命令吗?我没有找到,这样的话怎么返回前面程序行那?不会要把前面的代码继续写一遍吧!
作者: feng123144    时间: 2012-7-18 22:18
回复 12楼flyinsk的帖子

还没有弄出来,听说在弄了.
作者: twiliam    时间: 2012-7-18 22:42
鼠标所在屏幕坐标—软件左上角坐标            

相对坐标也就是软件的左上角的坐标为基点(0,0)
作者: 694840212    时间: 2013-4-16 23:22
也给我解决了一个问题,谢谢




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