ControlClick()没有控件ID

时间:2017-01-09 12:29:11

标签: autoit

我的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])

脚本单击,但仅限于我离开鼠标指针的位置。它不会自动移动鼠标指针。有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

答案限制 要使用AutoIT中的任何Control* API,您需要与真正的 Windows控制。

如果您只想进行“随机”点击,您可能不需要真正的Windows控件,也不应该依赖ControlClick

如果您尝试点击Windows的“背景”,您可能只想最小化所有打开的窗口,您可以使用WinMinimizeAll完成这些操作。

使用Qt和其他框架点击GUI,没有真正的Windows控件

像Qt这样的一些框架不会为许多默认的GUI按钮等提供真正的Windows控件,因此当使用AutoIT的Windows Info工具以及许多UI间谍工具时,这些信息将是丢失。

您可能需要的是我现在需要的是解决方案是解决方法。对于您的情况,如果我能看到您尝试自动化的序列的屏幕截图,将会有所帮助;看到之后,我可以给出更好的建议。

对于我的情况,我需要点击没有控件的Quit按钮,开发人员告诉我他没有办法(或者知道一种方法)为弹出窗口添加可访问的名称我试图进入,即使我可以挂钩主应用程序的hWND。幸运的是,退出框有一个特殊颜色的退出按钮,这使我可以使用AutoIT的PixelSearch来定位它。

当你没有像这样的酷帮手时,通常最好确定主窗口的位置,以及你需要找到你想要的任何像素偏移。