如何获得鼠标点击的坐标
如题所示:我现在需要找到鼠标点击菜单后,鼠标的位置,其实我就是需要找到当前鼠标点击的菜单的位置。但是因为听说菜单的属性里没有XY坐标和width height,所以就想用鼠标的位置来代替。不知道用什么函数可以求得返回值呢? 用那个画图工具可以解决你的问题,你是不是就想得到坐标是吧 什么画图工具阿?我初学者不懂啊。 听说菜单的属性里没有XY坐标?很疑惑...(为什么是听说呢?)
楼主假如只想在固定位置做点击操作,就用低级别的录制模式可以实现. object.Click , ,
object: A test object of type WinButton.
X:Optional. An Integer value.
The x-coordinate of the click. Note that the specified coordinates are relative to the upper left corner of the object.Default = micNoCoordinate (-9999) -- center of the object.
Y:Optional. An Integer value.
The y-coordinate of the click. Note that the specified coordinates are relative to the upper left corner of the object.Default = micNoCoordinate (-9999) -- center of the object.
Tip: You can enter micNoCoordinate (-9999) for the x and y argument values if you want to enter a value for the button argument without specifying x- and y- coordinates for the click. micNoCoordinate indicates the center of the object.
BUTTON: Optional. A predefined constant or number. See the Constants table, below.
The mouse button used to click the object. Default = micLeftBtn (0).
按照这个函数打参数就可以了 X和Y就是鼠标点击的坐标 谢谢楼上的朋友,但是我不是input值,我是要取得鼠标点击后的返回值。
就是脚本运行过程中,返回鼠标坐标给程序中的变量x,y,然后我要用x,y的值传给后面的函数作参数。 返回鼠标坐标给程序中的变量x,y,然后我要用x,y的值传给后面的函数作参数。
help... 今天快下班了,明天继续帮你看看 我看起来帮不了你了,试过了,不行,帮助手册也没有相关的函数
期待高手出现。。。 虽然没有找到解决方法,但大家的热心帮助我现在这里说声谢谢了。
一直答案寻找中。。。 一般来说,对象的属性里面都有 x,y 这两个属性,还有 abs_xabs_y呀。既然是做测试的,为什么还要“听说”呢? 莫非你需要的 是 GetROProperty函数? 版主,你理解错了。LZ要返回鼠标位置坐标。我查了一下API,GetcusorPos返回值有一个是结构参数。而QTP中不支持使用结构参数的windows api.这个似乎是有点麻烦。
Syntax
BOOL GetCursorPos(
LPPOINT lpPoint
);
Parameters
lpPoint
Pointer to a POINT structure that receives the screen coordinates of the cursor.
Return Value
Returns nonzero if successful or zero otherwise. To get extended error information, call GetLastError. 不知道你为什么要获得这个坐标,是不是你点击菜单的操作无法回放呢? 还有一些二级菜单也会出现录制无法回放,并且不能获取对象,这些都有其他解决办法的!如果事实是这样,就不要走下面的弯路了!
如果你确实需要坐标,我这里有两个解决方案,也许能用上,我没验证:
方案一:使用low level record 录制一下这里的操作,后面会直接给出当前操作的坐标;
方案二:使用GetTextLocation 方法,把TextToFind 属性设置成你需要获取坐标处的字符,他会给你返回标准的坐标值。
建议使用第二种方法获取,这个返回的坐标值应该可以赋予其他变量使用!
只是给你一些解决方案!希望能帮上忙! 好像都没能准确得到LZ要的答案阿,楼上各位确实是一个思路,但有没有更好的方法呢?
我现在也需要返回鼠标点击的坐标,用于后续脚本的操作,大家再讨论讨论阿! 原帖由 jifeng 于 2007-12-3 22:52 发表 http://bbs.51testing.com/images/common/back.gif
好像都没能准确得到LZ要的答案阿,楼上各位确实是一个思路,但有没有更好的方法呢?
我现在也需要返回鼠标点击的坐标,用于后续脚本的操作,大家再讨论讨论阿!
你如果确实想要光标的具体坐标,并不是很麻烦的。不过要多动几下手了。
思路很简单。用其他高级语言,最好是c或c++生成一个动态库,把winapi函数GetCursorPos再包装一下,返回两个值,即坐标X和Y,而不是一个结构。这样QTP就支持了。 动态库注册一下,再用extern.declare声明DLL中包装过函数。这样QTP中就可以调用了。 哈哈越说越远啦:) 你是想执行按座标位置点击鼠标?
还是取到鼠标当前座标? 我觉得如果QTP不行的话不如拿c#写个dll获取鼠标的xy坐标这样不是解决了么
页:
[1]
2