Hallo Leute: Hab ein Problem mit diesem Script (Es handelt sich hierbei um ein zur demonstration des Problems erstelltes Skript)
[autoit]Func _CheckPlace($1,$2,$3)
[/autoit][autoit][/autoit][autoit]$pos = PixelSearch(20,500,21,501,0xFFFFFF,100)
Return $Pos
EndFunc
$WinData = WinGetPos("Google - Mozilla Firefox")
$WindowCount = 0
$i = 0
For $k = 0 to 5 ;Reached bottom of window
Local $Place[2][1] = [[$WinData[0]],[0+$i]] ;Starting Pos
Local $Space[2][1] = [[$WinData[1]],[210]] ;Reach
$SubFolderID = "INSERT INI SEKTIONNAME"
$Pos = _CheckPlace($SubFolderID, $Place, $Space)
Local $WindowArray[200][2]
If IsArray($Pos) Then
$i = $Pos[1] - $WinData[1] + 1
$WindowCount = $WindowCount + 1
If UBound($WindowArray) Then
ReDim $WindowArray[UBound($WindowArray) * 2][2]
EndIf
$WindowArray[$WindowCount][0] = $Pos[0]
$WindowArray[$WindowCount][1] = $Pos[1]
Else
$i = $i + 58
EndIf
Next
[/autoit][autoit][/autoit][autoit][/autoit][autoit]ReDim $WindowArray[$WindowCount][2]
For $i = 0 To UBound($WindowArray)-1
MsgBox(0, "", "Position of SubFolder " & $i + 1 & "in Folder X:" & $WindowArray[$i][0] & "and Y" & $WindowArray[$i][1])
MouseMove($WindowArray[$i][0],$WindowArray[$i][1])
Next
Das Problem: Die Koordinaten des Gefunden Pixels werden nicht angezeigt.
Um das Script zu testen einfach auf der Google Mainpage ausführen, oder Farbe und Fenster ändern
Hier eine funktionierende Version des Scripts, jedoch ohne die möglichkeit der unendlichkeit:
[autoit]Func _CheckPlace($1,$2,$3)
[/autoit][autoit][/autoit][autoit]$pos = PixelSearch(20,500,21,501,0xFFFFFF,100)
Return $Pos
EndFunc
$WinData = WinGetPos("Google - Mozilla Firefox")
$WindowCount = 0
$i=0
For $k = 0 to 5
Local $Place[2][1] = [[$WinData[0]],[0+$i]] ;Starting Pos
Local $Space[2][1] = [[$WinData[1]],[210]] ;Reach
$SubFolderID = "INSERT INI SEKTIONNAME"
$Pos = _CheckPlace($SubFolderID, $Place, $Space)
If IsArray($Pos) Then
$i = $Pos[1] - $WinData[1] +1
$WindowCount = $WindowCount + 1
If $WindowCount = 1 Then
$Win1 = $Pos
ElseIf $WindowCount = 2 Then
$Win2 = $Pos
ElseIf $WindowCount = 3 Then
$Win3 = $Pos
ElseIf $WindowCount = 4 Then
$Win4 = $Pos
ElseIf $WindowCount = 5 Then
$Win5 = $Pos
ElseIf $WindowCount = 6 Then
$Win6 = $Pos
ElseIf $WindowCount = 7 Then
$Win7 = $Pos
ElseIf $WindowCount = 8 Then
$Win8 = $Pos
ElseIf $WindowCount = 9 Then
$Win9 = $Pos
ElseIf $WindowCount = 10 Then
$Win10 = $Pos
ElseIf $WindowCount = 11 Then
$Win11 = $Pos
ElseIf $WindowCount = 12 Then
$Win12 = $Pos
ElseIf $WindowCount = 13 Then
$Win13 = $Pos
ElseIf $WindowCount = 14 Then
$Win14 = $Pos
ElseIf $WindowCount = 15 Then
$Win15 = $Pos
ElseIf $WindowCount = 16 Then
$Win16 = $Pos
ElseIf $WindowCount = 17 Then
$Win17 = $Pos
ElseIf $WindowCount = 18 Then
$Win18 = $Pos
ElseIf $WindowCount = 19 Then
$Win19 = $Pos
EndIf
Else
$i=$i+58
EndIf
Next
[/autoit][autoit][/autoit][autoit]If $WindowCount = 0 Then
Local $WindowArray = "Error"
ElseIf $WindowCount = 1 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]]]
ElseIf $WindowCount = 2 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]]]
ElseIf $WindowCount = 3 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]]]
ElseIf $WindowCount = 4 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]],[$Win4[0],$Win4[1]]]
ElseIf $WindowCount = 5 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]],[$Win4[0],$Win4[1]],[$Win5[0],$Win5[1]]]
ElseIf $WindowCount = 6 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]],[$Win4[0],$Win4[1]],[$Win5[0],$Win5[1]],[$Win6[0],$Win6[1]]]
ElseIf $WindowCount = 7 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]],[$Win4[0],$Win4[1]],[$Win5[0],$Win5[1]],[$Win6[0],$Win6[1]],[$Win7[0],$Win7[1]]]
ElseIf $WindowCount = 8 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]],[$Win4[0],$Win4[1]],[$Win5[0],$Win5[1]],[$Win6[0],$Win6[1]],[$Win7[0],$Win7[1]],[$Win8[0],$Win8[1]]]
ElseIf $WindowCount = 9 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]],[$Win4[0],$Win4[1]],[$Win5[0],$Win5[1]],[$Win6[0],$Win6[1]],[$Win7[0],$Win7[1]],[$Win8[0],$Win8[1]],[$Win9[0],$Win9[1]]]
ElseIf $WindowCount = 10 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]],[$Win4[0],$Win4[1]],[$Win5[0],$Win5[1]],[$Win6[0],$Win6[1]],[$Win7[0],$Win7[1]],[$Win8[0],$Win8[1]],[$Win9[0],$Win9[1]],[$Win10[0],$Win10[1]]]
ElseIf $WindowCount = 11 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]],[$Win4[0],$Win4[1]],[$Win5[0],$Win5[1]],[$Win6[0],$Win6[1]],[$Win7[0],$Win7[1]],[$Win8[0],$Win8[1]],[$Win9[0],$Win9[1]],[$Win10[0],$Win10[1]],[$Win11[0],$Win11[1]]]
ElseIf $WindowCount = 12 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]],[$Win4[0],$Win4[1]],[$Win5[0],$Win5[1]],[$Win6[0],$Win6[1]],[$Win7[0],$Win7[1]],[$Win8[0],$Win8[1]],[$Win9[0],$Win9[1]],[$Win10[0],$Win10[1]],[$Win11[0],$Win11[1]],[$Win12[0],$Win12[1]]]
ElseIf $WindowCount = 13 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]],[$Win4[0],$Win4[1]],[$Win5[0],$Win5[1]],[$Win6[0],$Win6[1]],[$Win7[0],$Win7[1]],[$Win8[0],$Win8[1]],[$Win9[0],$Win9[1]],[$Win10[0],$Win10[1]],[$Win11[0],$Win11[1]],[$Win12[0],$Win12[1]],[$Win13[0],$Win13[1]]]
ElseIf $WindowCount = 14 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]],[$Win4[0],$Win4[1]],[$Win5[0],$Win5[1]],[$Win6[0],$Win6[1]],[$Win7[0],$Win7[1]],[$Win8[0],$Win8[1]],[$Win9[0],$Win9[1]],[$Win10[0],$Win10[1]],[$Win11[0],$Win11[1]],[$Win12[0],$Win12[1]],[$Win13[0],$Win13[1]],[$Win14[0],$Win14[1]]]
ElseIf $WindowCount = 15 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]],[$Win4[0],$Win4[1]],[$Win5[0],$Win5[1]],[$Win6[0],$Win6[1]],[$Win7[0],$Win7[1]],[$Win8[0],$Win8[1]],[$Win9[0],$Win9[1]],[$Win10[0],$Win10[1]],[$Win11[0],$Win11[1]],[$Win12[0],$Win12[1]],[$Win13[0],$Win13[1]],[$Win14[0],$Win14[1]],[$Win15[0],$Win15[1]]]
ElseIf $WindowCount = 16 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]],[$Win4[0],$Win4[1]],[$Win5[0],$Win5[1]],[$Win6[0],$Win6[1]],[$Win7[0],$Win7[1]],[$Win8[0],$Win8[1]],[$Win9[0],$Win9[1]],[$Win10[0],$Win10[1]],[$Win11[0],$Win11[1]],[$Win12[0],$Win12[1]],[$Win13[0],$Win13[1]],[$Win14[0],$Win14[1]],[$Win15[0],$Win15[1]],[$Win16[0],$Win16[1]]]
ElseIf $WindowCount = 17 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]],[$Win4[0],$Win4[1]],[$Win5[0],$Win5[1]],[$Win6[0],$Win6[1]],[$Win7[0],$Win7[1]],[$Win8[0],$Win8[1]],[$Win9[0],$Win9[1]],[$Win10[0],$Win10[1]],[$Win11[0],$Win11[1]],[$Win12[0],$Win12[1]],[$Win13[0],$Win13[1]],[$Win14[0],$Win14[1]],[$Win15[0],$Win15[1]],[$Win16[0],$Win16[1]],[$Win17[0],$Win17[1]]]
ElseIf $WindowCount = 18 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]],[$Win4[0],$Win4[1]],[$Win5[0],$Win5[1]],[$Win6[0],$Win6[1]],[$Win7[0],$Win7[1]],[$Win8[0],$Win8[1]],[$Win9[0],$Win9[1]],[$Win10[0],$Win10[1]],[$Win11[0],$Win11[1]],[$Win12[0],$Win12[1]],[$Win13[0],$Win13[1]],[$Win14[0],$Win14[1]],[$Win15[0],$Win15[1]],[$Win16[0],$Win16[1]],[$Win17[0],$Win17[1]],[$Win18[0],$Win18[1]]]
ElseIf $WindowCount = 19 Then
Local $WindowArray[$WindowCount][2] = [[$Win1[0],$Win1[1]],[$Win2[0],$Win2[1]],[$Win3[0],$Win3[1]],[$Win4[0],$Win4[1]],[$Win5[0],$Win5[1]],[$Win6[0],$Win6[1]],[$Win7[0],$Win7[1]],[$Win8[0],$Win8[1]],[$Win9[0],$Win9[1]],[$Win10[0],$Win10[1]],[$Win11[0],$Win11[1]],[$Win12[0],$Win12[1]],[$Win13[0],$Win13[1]],[$Win14[0],$Win14[1]],[$Win15[0],$Win15[1]],[$Win16[0],$Win16[1]],[$Win17[0],$Win17[1]],[$Win18[0],$Win18[1]],[$Win19[0],$Win19[1]]]
EndIf
For $i = 0 To $WindowCount -1
MsgBox(0, "", "Position of SubFolder " & $i + 1 & "in Folder X:" & $WindowArray[$i][0] & "and Y" & $WindowArray[$i][1])
MouseMove($WindowArray[$i][0],$WindowArray[$i][1])
Next