本帖最后由 左手l右手r 于 2014-4-3 09:39 编辑
昨天在问题仔细的查了一遍资料,最后发现我自己把问题想太复杂了,因为习惯用controlclick这个函数,又不太熟悉autoit,老觉得我这个控件因为是syslink类型,所以controlclick函数无法处理这种控件,今天早上突然开窍了,既然我能拿到这个控件的坐标,那何不用MouseClick这个函数呢?直接指定坐标,模拟鼠标点击,就ok了,实在太高兴了。;程序最前面指定鼠标的坐标模式
Opt("MouseCoordMode",0)
;然后用窗口探测器,得到这个空间的客户区坐标,即相对于激活窗口的坐标
$pos = ControlGetPos($windowhandle, "",1011)
; 测试发现,用这个pos[0]和pos[1]的坐标,鼠标没有变成手形状,应为我的UI上sysylink这个按钮,当鼠标移至上面,会变成手型,因此在移动下
$pos[0] = $pos[0]+5
$pos[1] = $pos[0]+5
;最后用MouseClick,成功跳转到link的指定页面啦
MouseClick("left", $pos[0], $pos[1], 2)
问题解决,谢谢@131738的论坛元老,谢谢你哦~
饶了一圈,发现自己把问题想的太复杂了,希望我这个菜鸟的思路对大家有用,自己改处于摸索的阶段,不过在搜寻syslink的学习中,也学到了不少知识,尤其是网页syslink的制作,可参见页面syslink的制作[url]http://www.autoitscript.com/forum/topic/126958-guisyslink-udf[/url]
另外还有个支持库,可供大家下载参考。 |