好的,我正试图在我的工作的票务系统上自动关闭多张票,这个系统是基于浏览器并建立在flash上的(它太可怕了)。使用AutoIt v3窗口信息,我能够获得大部分信息,但单击没有注册。我知道窗口必须是活动的,ControlClick才能工作,但是没有进展。
代码:
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $AutoClose
$NumTickets = GUICtrlRead($NumTicketsBox)
$iState = 1
$i = 0
Case Else
If $iState = 1 Then
If $i >= $NumTickets Then
$iState = 3
ContinueLoop
EndIf
ControlClick("[CLASS:MacromediaFlashPlayerActiveX]", "", "", "left", 1, 143, 474)
$iState = 2
$iTimer = TimerInit()
ElseIf $iState = 2 Then
If TimerDiff($iTimer) < 2000 Then ContinueLoop
ControlClick("[CLASS:MacromediaFlashPlayerActiveX]", "", "", "left", 1, 700, 337)
$iTimer = TimerInit()
$i = $i + 1
$iState = 1
ElseIf $iState = 3 Then
If TimerDiff($iTimer) < 1000 Then ContinueLoop
If $i <= 0 Then
$iState = 1
ContinueLoop
EndIf
ControlClick("[CLASS:MacromediaFlashPlayerActiveX]", "", "", "left", 1, 59, 337)
$iTimer = TimerInit()
$i = $i - 1
EndIf
EndSelect
WEnd
,这是Window Info:的>>>> Control <<<<部分的输出。
>>>> Control <<<<
Class: MacromediaFlashPlayerActiveX
Instance: 1
ClassnameNN: MacromediaFlashPlayerActiveX1
Name:
Advanced (Class): [CLASS:MacromediaFlashPlayerActiveX; INSTANCE:1]
ID: 172092576
Text:
Position: 8, 194
Size: 760, 620
ControlClick Coords: 59, 339
Style: 0x56000000
ExStyle: 0x00000000
Handle: 0x0002117A
任何帮助都将不胜感激。
编辑--编辑--
我能想到的最接近类似解决方案的方法是在这里:http://www.autoitscript.com/forum/topic/94736-noob-controlclick/,但这似乎不适合我。再一次,任何帮助都是感激不尽的。
发布于 2014-05-23 03:59:28
试一试这个
ControlClick("[CLASS:MacromediaFlashPlayerActiveX]", "", 172092576, "left", 1, 700, 337)
发布于 2016-09-13 14:12:34
Opt("WinTitleMatchMode", 2) ; 2=subStr
$sTitle = "Mozilla"
ControlClick($sTitle, "", "[CLASSNN:MacromediaFlashPlayerActiveX1]", "primary", 1, 700, 337)
https://stackoverflow.com/questions/23703009
复制相似问题