我的AutoIt脚本模拟鼠标点击。首先在一个地方右键单击,然后在许多其他点之一中单击鼠标左键。我用MouseClick()
实现了这一点,并且工作正常。
但现在我希望脚本在“后台”中工作,所以我使用了ControlClick()
。但是没有控制ID。这就是我试过的:
$square = Floor(Random(0,$length)) ;this one gets length of array with coordinates
;MouseClick("right", 1634,195 ,1,1) first version-works fine
ControlClick("Medivia","", "", "right",1,1634,195)
;MouseClick("left", $cordX[$square], $cordY[$square]) first version-works fine
ControlClick("Medivia","", "", "left",1 ,$cordX[$square] ,$cordY[$square])
脚本单击,但仅限于我离开鼠标指针的位置。它不会自动移动鼠标指针。有人能帮助我吗?
答案 0 :(得分:1)
答案限制 :要使用AutoIT中的任何Control*
API,您需要与真正的 Windows控制。
如果您只想进行“随机”点击,您可能不需要真正的Windows控件,也不应该依赖ControlClick
。
如果您尝试点击Windows的“背景”,您可能只想最小化所有打开的窗口,您可以使用WinMinimizeAll
完成这些操作。
像Qt这样的一些框架不会为许多默认的GUI按钮等提供真正的Windows控件,因此当使用AutoIT的Windows Info工具以及许多UI间谍工具时,这些信息将是丢失。
您可能需要的是我现在需要的是解决方案是解决方法。对于您的情况,如果我能看到您尝试自动化的序列的屏幕截图,将会有所帮助;看到之后,我可以给出更好的建议。
对于我的情况,我需要点击没有控件的Quit
按钮,开发人员告诉我他没有办法(或者知道一种方法)为弹出窗口添加可访问的名称我试图进入,即使我可以挂钩主应用程序的hWND。幸运的是,退出框有一个特殊颜色的退出按钮,这使我可以使用AutoIT的PixelSearch
来定位它。
当你没有像这样的酷帮手时,通常最好确定主窗口的位置,以及你需要找到你想要的任何像素偏移。