My 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])
脚本会点击,但只在我留下鼠标指针的地方。它本身不会移动鼠标指针。有人能帮我吗?
回答限制
:要使用AutoIT中的任何Control*
API,您需要与realWindows控件交互
如果你只想进行"随机"点击,你可能不需要真正的Windows控件,也不应该依赖ControlClick
。
如果你试图点击Windows的"背景",你可能只想最小化所有打开的窗口,这可以用WinMinimizeAll
来完成。
使用Qt和其他没有真正Windows控件的框架进行GUI点击
像Qt这样的一些框架不会为许多默认的GUI按钮等提供真正的Windows控制,所以当使用AutoIT的Windows信息工具以及许多UI间谍工具时,这些信息会丢失。
你可能需要的和我目前需要的是求助于变通办法。对于您的情况,如果我能看到您试图自动化的序列的屏幕截图,那将有所帮助;看到这些之后,我可以给出更好的建议。
就我的情况而言,我需要点击一个没有控件的Quit
按钮,开发人员告诉我,他没有办法(或知道办法)将可访问的名称添加到我试图连接的弹出窗口中,尽管我可以连接到主应用程序的hWND。幸运的是,退出框中的退出按钮有一种特殊的颜色,这让我可以使用AutoIT的PixelSearch
来定位它
当你没有这样的酷助手时,通常最好确定主窗口的位置,以及你需要的像素偏移量,以找到你想要的东西。