|
本帖最后由 xing999999 于 2015-12-22 12:48 编辑
例子:
Run("calc.exe")
$hwnd=WinWait("计算器","",120)
WinActive($hwnd)
Sleep(1000)
Opt("MouseCoordMode",2);设置鼠标函数的坐标参照,相对当前激活窗口客户区坐标
$a=ControlGetPos("计算器","","Button15");获取指定控件相对其窗口的坐标位置和大小
MouseClick("left",$a[0],$a[1])
假设你无法获取Button15,那要怎么模拟鼠标点击到Button15这个位置上呢?而且能在不同的分辨率下都能准确的点击到。
现在好多程序都是这样,举例,360安全浏览器,猎豹浏览器等等,一运行就是一个窗体,根本无法捕捉到窗体里的东西,我用了官方以及非官方的窗口信息工具都是一样。肉眼看上去窗体里有,安装路径,有设置默认浏览器,有参加体验计划,有已阅读并同意,有开始安装按钮(以最新的猎豹浏览器KSbrowser_5.3.108.10728为例。)但是就是无法捕捉到任何控件,愁死了。。
我想知道大概的方案,不需要高手们提供具体的代码(能够提供实例当然最好,就怕有人骂我说是来要代码的,不提供代码只提供方案,我就自己慢慢去研究)。我的想法是,先获取窗口的句柄,然后再获取窗口的体积和坐标,这2步都可以做到,但下一步呢?怎么获取那个要点击的按钮在什么坐标,然后怎么模拟鼠标过去点击,并且在不同的分辨率下都能准确点击到? |
|