Hallo zusammen,
ich weiß grad nicht, wo der Fehler ist. Ich lasse beim Klick ein Window-Handle in 1 Array schreiben und möchte später prüfen, ob dieses Handle/ Fenster noch existiert. Bei dieser Prüfung kommt jedoch stehts 0 raus.
Das adden ins Array funktioniert einwandfrei, da er auch sonst nicht in die Prüfung springen würde. Aber weder mit Handle noch mit dem Title wird das Fenster gefunden, obwohl es da ist. Wer kann mir helfen?
Anbei der Code und 1 Screen als Proof.
[autoit]If $WindowArray[0][0] > 0 Then
For $i = $WindowArray[0][0] To 1 Step -1
If WinExists($WindowArray[$i][1]) Then
If $WindowArray[$i][1] <> WinGetTitle($WindowArray[$i][1]) Then WinSetTitle($WindowArray[$i][1], "", $WindowArray[$i][0])
Else
$test = $WindowArray[$i][1]
ConsoleWrite($WindowArray[$i][1] & @TAB & WinExists($test) & @TAB & WinExists(WinGetTitle($test)) & @CRLF)
_ArrayDelete($WindowArray, $i)
$WindowArray[0][0] = UBound($WindowArray) - 1
EndIf
Next
EndIf
Ergebnis:
[autoit]Window added: 0x0014085C
0x0014085C 0 0
Das Window added kommt aus der besagten Funktion, in der das Handle zum Array zugefügt wird. Das passiert immer, da ConsoleWrite ja nur dann angezeigt wird, wenn das Handle wieder aus dem Array gelöscht wird.